具有居中元素的 HorizontalScrollView
我有一个 HorizontalScrollView,它动态填充了 TextView。有时有一个、两个、三个或更多元素。我正在寻找一种无论元素数量如何都使项目居中的方法。
例如, 使用一个元素:
| --------- 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>
I have a HorizontalScrollView that is filled dynamically with TextViews. Sometime there is one, two, three or more elements. What I'm looking for is a way to have the items centered regardless of the numbers of elements.
For example, With one element:
| --------- MenuA --------- |
With two elements:
| ---- MenuA --- MenuB ---- |
With three elements:
| - MenuA - MenuB - MenuC - |
With five elements (MenuD and MenuE are hidden):
| MenuA - MenuB - MenuC - Me|
Update: Here is a simple layout with two menus. How do I center MenuA and 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>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用重力属性:
android:layout_gravity="center_horizontal"
编辑:03.30:
我找到了!只需将重力设置为上部 LinearLayout 即可:您所需要做的就是添加一点填充/边距,以使文本视图阅读起来更舒适!
请随时通知我!
use the gravity attribute :
android:layout_gravity="center_horizontal"
EDIT : 03.30 :
I found it ! only had to set the gravity to the upper LinearLayout : all you need to do is add a little padding/margins to make the textviews more comfortable to read !
keep me posted !