我有一个 ListView,它在 View 顶部包含一个 LinearLayout,用作标题栏。列表可以滚动,但标题栏保持不变。在标题栏中,我想要一个“后退”按钮,但这会导致标题文本变得不居中:
我添加了第二个相同大小的按钮(在标题栏的右侧)并使其不可见,以便充当文本居中的“间隔”,但随后我松开了很多标题栏真实-财产:
有没有办法告诉Android将标题文本居中并忽略后退按钮?也许这就是生活的本来面目,但我想我会先让每个人都运行它,然后再继续使用一个笨拙的第二个隐形按钮或其他东西。谢谢
代替 LinearLayout,您可以使用 RelativeLayout 作为标题。并使用布局参数,以便:
哟可以使用相对布局而不是线性布局,
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#ffffaa" >
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="false"
android:gravity="center"
android:text="Button" />
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="false"
android:gravity="center"
android:paddingLeft="100dp"
android:paddingRight="100dp"
android:text="Header Title Embiggeden"
android:textSize="20dp" />
</RelativeLayout>
这是给您的。我在我的项目中这样做了。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#FF00FF"
android:orientation="horizontal" >
<Button
android:id="@+id/testbutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:text="Back" >
</Button>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Header"
android:gravity="center_horizontal"
android:textSize="30sp" ></TextView>
</RelativeLayout>
<ListView
android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="40dp"
android:divider="@android:color/transparent"
android:dividerHeight="10sp" >
</ListView>
</RelativeLayout>
这是您需要的,并根据您的需要更改第二个 RelativeLayout 的颜色。
然后尝试使用Relative Layout,文字在
android:layout_centerHorizontal="true"
和两个按钮
1.android:layout_toLeftOf="text id"
2.android:layout_toRightOf="text id"
代替.set 文本视图属性relativelayout
并
设置按钮linearlayout
centerinvertical=true
alignParent=left.
设置 TextView 的 padding-left 等于不可见的按钮宽度
您可以使用相对布局而不是线性布局
<RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content"
android:background="#00ff00">
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:maxLines="1"
android:ellipsize="end" android:layout_centerInParent="true"/>
<Button android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentLeft="true" android:layout_centerVertical="true"/>
</RelativeLayout>
或者你可以使用 FrameLayout
<FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content"
android:background="#00ff00">
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" />
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"/>
</FrameLayout>