这些是我的菜单:
<item
android:id="@+id/search"
android:icon="@drawable/ic_action_search"
android:orderInCategory="2"
android:title="@string/search"
yourapp:showAsAction="always|withText"/>
<item
android:id="@+id/newadd"
android:icon="@drawable/ic_action_new"
android:orderInCategory="3"
android:title="@string/newadd"
yourapp:showAsAction="always|withText"/>
<item
android:id="@+id/sort"
android:icon="@drawable/ic_action_sort_by_size"
android:orderInCategory="1"
yourapp:showAsAction="always"/>
当我运行应用程序时,其中所有3个都位于操作栏的右侧,如何让它们移动到操作栏的左侧?
另外,我是一个navigationDrawer,图标在左侧,我想将它移到右侧,我该怎么办?
我的动作栏上没有任何搜索。
我该怎么办?
谢谢
答案 0 :(得分:1)
您可以将自定义视图用于操作栏
ActionBar mActionBar = getActionBar();
View mCustomView = mInflater.inflate(R.layout.custom_actionbar, null);
mActionBar.setCustomView(mCustomView);
mActionBar.setDisplayShowCustomEnabled(true);
actionbar xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/activity_horizontal_margin" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:src="@drawable/ic_launcher" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/imageView1"
android:paddingLeft="12dp"
android:paddingRight="12dp"
android:src="@drawable/ic_launcher" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/imageView2"
android:paddingLeft="12dp"
android:paddingRight="12dp"
android:src="@drawable/ic_launcher" />
</RelativeLayout>
为操作栏设置这些方法,使导航抽屉主页图标可见
getActionBar().setBackgroundDrawable(
new ColorDrawable(Color.parseColor("#56B1D8"))); //$NON-NLS-1$
LayoutInflater inflator = (LayoutInflater) this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
ActionBar actionBar = getActionBar();
getActionBar().setDisplayShowCustomEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);
// actionBar.setDisplayUseLogoEnabled(false);
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayUseLogoEnabled(false);
actionBar.setDisplayShowHomeEnabled(false);
// getActionBar().setIcon(R.drawable.ic_navigation_drawer);
// navigation icon on actionbar
actionBar.setHomeButtonEnabled(true);
actionBar.setIcon(null);
答案 1 :(得分:0)
假设你是一个从右到左的读者,并试图支持这样的。对于整个应用程序,我相信它会从您设备的所选语言和区域设置中获取线索。从右到左强迫? IDK如何做到这一点,但是如你所描述的那样翻转动作栏我怀疑你正在做什么。
除此之外,请确保您使用start
和end
与left
和right
进行其他对齐。开始和结束都将尊重您的设备设置,其中左侧和右侧不会。