android - Android - 工具栏 - 更改按钮顺序
问题描述
我正在尝试创建一个带有后退箭头和标题左对齐的工具栏,以及两个右对齐的按钮。这两个按钮没有按我想要的顺序显示。
这是布局:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
android:id="@+id/my_child_toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:background="?attr/colorPrimary"
android:elevation="4dp"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="16dp"
android:background="#aa492f"
android:onClick="onClickExit"
android:src="@drawable/ic_arrow_back_white_24dp"/>
<TextView
android:id="@+id/textView1"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="left|top"/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_marginRight="16dp"
android:background="#aa492f"
android:onClick="onClickCashIn"
android:src="@drawable/ic_payment_white_24dp"/>
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_marginRight="16dp"
android:background="#aa492f"
android:onClick="onClickPay"
android:src="@drawable/ic_send_white_24dp"/>
</android.support.v7.widget.Toolbar>
<GridLayout .../>
</LinearLayout>
我希望按钮 ic_payment_white_24dp 出现在左侧,按钮 ic_send_white_24dp 出现在右侧。但它们以相反的顺序出现:
我究竟做错了什么?我尝试了许多不同的属性,例如 android:layout_toRightOf,但我无法让它工作。
解决方案
你必须使用
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu, menu);
return true;
}
为工具栏和 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/place_picker"
android:icon="@drawable/ic_map"
android:orderInCategory="2"
android:title="Search"
app:showAsAction="ifRoom" />
<item
android:id="@+id/random_place"
android:icon="@mipmap/ic_shuffle"
android:title="Pick a Random place"
app:showAsAction="ifRoom" />
</menu>
并重新排列您必须调整的项目android:orderInCategory="2"
以正确安排
推荐阅读
- java - 从包含空格的文件路径中获取位图
- amazon-web-services - AWS - 访问托管在外部 AWS 账户上的私有网站
- spring-boot - 春季无法启动点燃客户端
- solr - Solr 正在运行,但 systemctl 状态为非活动状态
- xamarin.android - 是否可以在 Xamarin.Android 上使用 Material DayNight 主题?
- reactjs - 从多个 React Date Picker 输入更新单个状态对象
- reactjs - Redux:如何仅在 useEffect 中分派操作一次?
- typescript - 打字稿:强制方法接受给定的类引用
- html - HTML 和 CSS 之间的链接不起作用
- shell - perl 命令行参数 -MIO 标志