我有一个上下文操作栏,当选择ListView
中的元素时会出现该操作栏。
Sample Text
实际上是icon="@null"
和title="Sample Text"
的按钮,点按后会执行一些操作。如何将此按钮的背景更改为其他颜色,以便更直观地显示它实际上是按钮而不是某些文本?
(额外信息) 菜单通过XML膨胀,这是下面的菜单
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/menu_sample_text"
android:icon="@null"
android:orderInCategory="100"
android:title="Sample Text"
app:showAsAction="ifRoom|withText"/>
</menu>
答案 0 :(得分:0)
You can set your own layout on the
action bar and then do whatever you want with the layout.
ActionBar ab = getActionBar();
if (ab != null) {
LayoutInflater inflater = getLayoutInflater();
View v = inflater.inflate(R.layout.home_actionbar, null);
ab.setCustomView(v);
}
// Keep a reference to the view so that you can manipulate the controls.
答案 1 :(得分:0)
您可以制作自己的布局并将其设置为ActionBar视图。在该布局中,您的按钮可以具有您想要的任何样式。这就是我在我的应用程序中执行此操作的方法:
final ActionBar abar = getActionBar();
View viewActionBar = getLayoutInflater().inflate(R.layout.action_bar_layout, null);
ActionBar.LayoutParams params = new ActionBar.LayoutParams( ActionBar.LayoutParams.WRAP_CONTENT, ActionBar.LayoutParams.MATCH_PARENT, Gravity.CENTER);
actionBarTitleTV = (TextView) viewActionBar.findViewById(R.id.actionbar_textview);
abar.setCustomView(viewActionBar, params);
abar.setDisplayShowCustomEnabled(true);
abar.setDisplayShowTitleEnabled(false);
abar.setDisplayHomeAsUpEnabled(true);
abar.setIcon(R.color.transparent);
abar.setHomeButtonEnabled(true);