如何更改举行ActionBar项目时出现的Toast的文本颜色?

时间:2015-04-24 20:02:28

标签: java android android-actionbar toast

当用户按住ActionBar项目时,如果在菜单的布局文件中的android:title属性中指定了一个项目的标题,则会显示Toast。在我的应用程序中,默认背景颜色与呈现文本几乎难以辨认的默认文本颜色相同。如何更改这些Toasts的背景颜色或文本颜色?

我使用的是Android 5.1。

illegible toast

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