当用户按住ActionBar项目时,如果在菜单的布局文件中的android:title属性中指定了一个项目的标题,则会显示Toast。在我的应用程序中,默认背景颜色与呈现文本几乎难以辨认的默认文本颜色相同。如何更改这些Toasts的背景颜色或文本颜色?
我使用的是Android 5.1。
答案 0 :(得分:2)
如果您想更改Toast的TextColor,可以参考this question,因为它有一个很好的例子。
要在操作栏项上执行此操作,您首先需要向操作栏添加自定义视图,因为它不支持处理长时间点击的方法。
我会创建一个用于操作栏的布局文件,然后在你的活动onCreate()中你可以这样做:
View actionBarView = getLayoutInflater().inflate(R.layout.my_action_bar, null)
ImageView actionItem = (ImageView) actionBarView.findViewById(R.id.myImageViewIcon);
actionItem.setOnLongClickListener(new OnLongClickListener(){
@Override
public boolean onLongClick(View v){
// Show toast with custom text
}
});
actionItem.setOnClickListener(new OnClickListener(){
@Override
public boolean onClick(View v){
// Handle regular click
}
});
getSupportActionBar().setCustomView(actionBarView);
有关第二部分的更多信息,您可以参考this question。