我有一个虚拟应用程序,我正在制作,以获得Android开发的悬念.我设法在我的工具栏上显示一个菜单溢出图标,但我似乎无法弄清楚如何将其更改为白色.
我正在使用工具栏小部件(没有支持库;这是我不想做的事情).
这是我有的:
我只想让溢出菜单变白.
styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="android:Theme.Material.Light.DarkActionBar">
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="android:colorPrimary">@color/primary</item>
<item name="android:colorPrimaryDark">@color/primary_dark</item>
<item name="android:colorAccent">@color/accent</item>
</style>
Run Code Online (Sandbox Code Playgroud)
如何使用lettable运算符和管道执行以下操作?
this.httpClient
.get(url)
.map((res: any) => {
const events = res.eventList;
return events.map(e => new EventLogModel(e));
})
.catch(this.handleError);
Run Code Online (Sandbox Code Playgroud)
我试过这个,但是我无法开始catchError
工作catchError does not exist on type Observable<any>
:
this.httpClient
.get(url)
.pipe(
map((res: any) => {
const events = res.eventList;
return events.map(e => new EventLogModel(e));
})
)
.catchError(this.handleError);
Run Code Online (Sandbox Code Playgroud)
另外,我认为catch
并且catchError
是一样的,对吗?我这样导入它:
import { map, catchError } from 'rxjs/operators';
但我不确定这是否是正确使用的操作符.
有没有办法以这样的方式设置别名,以便我可以输入命令,然后在一行中输入参数?
例如,而不是
javac Program.java && java Program
Run Code Online (Sandbox Code Playgroud)
我可以去
newcommand Program.java //or "newcommand Program", whichever is easier
Run Code Online (Sandbox Code Playgroud)
这将执行与上面的行相同的命令.
我已经创建了一个Toolbar
for Lollipop,但我似乎无法弄清楚如何在工具栏中添加溢出按钮.我不打算使用v7 appcompat工具栏,因为我想明确使用Toolbar
小部件.我希望它看起来像这样:
main_activity.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:fab="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="112dp"
android:elevation="4dp"
android:layout_alignParentTop="true"
android:minHeight="?android:attr/actionBarSize"
android:background="?android:attr/colorPrimary"
android:gravity="bottom"
android:paddingBottom="16dp"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
主要课程
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_quotebook);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
getWindow().setStatusBarColor(getResources().getColor(R.color.primary_dark));
getWindow().setNavigationBarColor(getResources().getColor(R.color.primary_dark));
initToolbar();
}
private void initToolbar() {
mToolbar = (Toolbar) findViewById(R.id.toolbar);
mToolbar.setTitleTextColor(Color.WHITE);
mToolbar.setTitle(R.string.app_shortname);
mToolbar.showOverflowMenu();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_overflow, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will …
Run Code Online (Sandbox Code Playgroud) 在我看来.bash_profile
,我有很多git的功能快捷方式.例如:
function gitpull() {
branch="$1"
if [[ -z $branch ]]; then
current_branch=`git symbolic-ref -q --short HEAD`
git pull origin $current_branch;
elif [[ -n $branch && $branch == "m" ]]; then
git pull origin master;
else
git pull origin $branch;
fi;
}
Run Code Online (Sandbox Code Playgroud)
但是,当我在终端中键入它时,我希望它能自动完成git分支.我该怎么做呢?(我已经在使用了.git-completion.bash
)
运行Espresso测试时,我不断收到以下错误:
Attempt to invoke virtual method 'android.content.Context android.app.Instrumentation.getTargetContext()' on a null object reference
@RunWith(AndroidJUnit4.class)
public class TestLogin extends AndroidTestCase {
@Rule
public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<>(MainActivity.class);
@Test
public void testVerifyCredentials() {
Context context = this.getContext().getApplicationContext();
SharedPreferences prefs = context.getSharedPreferences("current.user", Context.MODE_PRIVATE);
assertTrue(prefs.getBoolean("IsLoggedIn", false));
}
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试过这个InstrumentationTestCase
,然后尝试做,Context context = this.getInstrumentation().getTargetContext().getApplicationContext();
但仍然导致NPE.
我究竟做错了什么?
SessionManager
我在我的应用程序中使用的类来管理SharedPrefs:
包com.nullpointexecutioners.buzzfilms.helpers;
import android.content.Context; import android.content.SharedPreferences;
import com.firebase.client.Firebase; import com.nullpointexecutioners.buzzfilms.Major;
/**
* Helper class for managing a session (i.e. persistence across launches of the app …
Run Code Online (Sandbox Code Playgroud) 我正在编写一个(基本上)模仿 MS Paint 的应用程序;可以选择铅笔工具,画一条笔画为3的线;您可以选择标记工具并绘制一条笔划为 7 等的线。
我想在我的画布周围画一个边框。这很简单,是的。但是,使用我拥有的其他方法,我能想到的唯一实现方法是在绘制边界后进行大量抽查。是否有一种有效的方法可以在不与已选择工具的笔触/颜色冲突的情况下执行此操作?
这是drawBorder()
方法:
private void drawBorder(GraphicsContext g) {
final double canvasWidth = g.getCanvas().getWidth();
final double canvasHeight = g.getCanvas().getHeight();
g.setStroke(Color.BLACK);
g.setLineWidth(4);
g.strokeRect(0, 0, canvasWidth, canvasHeight);
//sets the color back to the currently selected ColorPicker color
g.setStroke(selectedColor);
}
Run Code Online (Sandbox Code Playgroud)
但是,此代码将与我的clear()
操作发生冲突
clearTool.setOnAction(e -> {
graphics.clearRect(0, 0,
canvas.getWidth(), canvas.getHeight());
drawBorder(graphics);
});
Run Code Online (Sandbox Code Playgroud)
因为在清除 Canvas 后,笔划线宽将为 4。这是一个问题,因为如果我将铅笔工具作为所选工具(笔划线宽为 3),它将为 4,直到我选择另一个工具并切换回来到铅笔工具;此外,如果我在按下清除按钮时选择了标记工具,同样的概念也适用(笔画线宽为 4,直到我选择另一个工具,然后重新选择标记工具)。
我试图避免必须为每个工具设置检查,并让它每次都重置笔划的线宽——虽然这可行,但似乎很复杂。
在做
onView(withId(R.id.login_button)).check(matches(isClickable()));
Run Code Online (Sandbox Code Playgroud)
对于验证按钮是否可单击很有用。如何确认按钮不可点击?
编辑:就像我说的,它只会告诉我是否isClickable
。我正在寻找一种方法来验证它是否不可点击。
我有一个我已经创建的表盘,我正在考虑在手表设置中添加一个"关于"屏幕(在手表上).此屏幕将显示当前版本并显示一个按钮以打开指向更改日志的URL.我希望用户能够点击手表上的按钮,并让手机打开指定的URL.
如果没有我创建移动伴侣应用程序,这可能吗?
我在 Child 类中有一个如下所示的属性:
formModel = {
motive: 0,
coop: 0,
leadership: 0,
teamwork: 0,
community: 0,
professional: 0,
role_model: 0,
supportive: 0,
problem_solving: 0
};
Run Code Online (Sandbox Code Playgroud)
但是在其他子类中,这个属性是不同的。
formModel = {
motive: 0,
coop: 0,
leadership: 0,
teamwork: 0,
community: 0,
professional: 0,
communication: 0,
respect: 0,
morale: 0,
role_model: 0,
supp_enviro: 0
};
Run Code Online (Sandbox Code Playgroud)
属性的顺序会发生变化,名称也会发生变化。
我想abstract
在其父类中声明此属性的一个版本。这可能吗?我public abstract formModel: Object;
在父母身上没有这样的运气。
编辑:
这是我得到的错误:
vendor.bundle.js:40839 Uncaught Error: Unexpected value 'undefined' declared by the module 'AppModule'
at syntaxError (vendor.bundle.js:40839)
at vendor.bundle.js:54719
at …
Run Code Online (Sandbox Code Playgroud) android ×5
angular ×2
java ×2
alias ×1
bash ×1
canvas ×1
command-line ×1
git ×1
javafx ×1
linux ×1
observable ×1
rxjs ×1
testing ×1
typescript ×1
wear-os ×1