我有一个使用 TextView 动态填充的 HorizontalScrollView。有时有一个、两个、三个或更多元素。我正在寻找的是一种使项目居中而不管元素数量的方法。
例如,只有一个元素:
| --------- MenuA --------- |
有两个元素:
| ---- MenuA --- MenuB ---- |
包含三个元素:
| - MenuA - MenuB - MenuC - |
有五个元素(MenuD 和 MenuE 被隐藏):
| MenuA - MenuB - MenuC - Me|
更新:这是一个带有两个菜单的简单布局。如何将 MenuA 和 MenuB 居中?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<HorizontalScrollView android:id="@+id/horizontalScrollView1"
android:layout_width="wrap_content" android:layout_height="wrap_content">
<LinearLayout android:id="@+id/linearLayout1"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="horizontal">
<TextView android:text="MenuA" android:id="@+id/textView1"
android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
<TextView android:text="MenuB" android:id="@+id/textView2"
android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
</LinearLayout>
</HorizontalScrollView>
</LinearLayout>
最佳答案
使用重力属性:
android:layout_gravity="center_horizontal" 编辑:03.30:
我找到了!只需将重力设置为上方的 LinearLayout :您需要做的就是添加一些填充/边距,以使 TextView 更易于阅读!
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_horizontal"
android:orientation="vertical" >
<HorizontalScrollView
android:id="@+id/horizontalScrollView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/TextView04"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="MenuB" >
</TextView>
<TextView
android:id="@+id/TextView03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="MenuB" >
</TextView>
<TextView
android:id="@+id/TextView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="MenuB" >
</TextView>
<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="MenuB" >
</TextView>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="MenuA" >
</TextView>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="MenuB" >
</TextView>
</LinearLayout>
</HorizontalScrollView>
</LinearLayout>
让我知道!
关于android - 具有居中元素的 HorizontalScrollView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5478502/