我想创建一个总共有 5 个项目的选项菜单。但是,我希望两个项目并排存在于一行中,而另外 3 个项目可以存在于它们自己的单独行中。
添加单独存在于他们自己的行中的项目是微不足道的使用.....
但是,问题是如何让 2 并排存在于一条线上?
我想创建一个总共有 5 个项目的选项菜单。但是,我希望两个项目并排存在于一行中,而另外 3 个项目可以存在于它们自己的单独行中。
添加单独存在于他们自己的行中的项目是微不足道的使用.....
但是,问题是如何让 2 并排存在于一条线上?
不幸的是,一个真正的选项菜单(由 创建onCreateOptionsMenu(Menu menu)
)需要一个menu
资源,它只是一个带有item
节点的 XML。如果您使用Dialog
or创建自定义菜单PopupWindow
,那么您可以随心所欲地做任何事情。在这种情况下,创建一个垂直布局,LinearLayout
其中一些水平LinearLayout
s 包含您的并排元素,其中穿插着您的常规元素。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/Button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/Button02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
</LinearLayout>
对单独存在的项目使用垂直线性布局,对必须并排存在的两个项目使用水平线性布局。
在 xml 中,LinearLayout 属性是android:orientation="vertical"
或"horizontal"
取决于您使用的属性。