如何更改按住 ActionBar Item 时出现的 Toast 的文本颜色?
How do you change the text color of the Toast that appears when an ActionBar Item is held?
当用户按住一个 ActionBar 项目时,如果在菜单布局文件的 android:title 属性中指定了项目标题,则会出现一个显示项目标题的 Toast。在我的应用程序中,默认背景颜色与默认文本颜色相同,导致文本几乎难以辨认。如何更改这些 Toast 的背景颜色或文本颜色?
我正在使用 Android 5.1.
如果您想更改 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。
当用户按住一个 ActionBar 项目时,如果在菜单布局文件的 android:title 属性中指定了项目标题,则会出现一个显示项目标题的 Toast。在我的应用程序中,默认背景颜色与默认文本颜色相同,导致文本几乎难以辨认。如何更改这些 Toast 的背景颜色或文本颜色?
我正在使用 Android 5.1.
如果您想更改 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。