我有ImageView
和TextView
。我想将TextView
放在图片视图下方,但TextView
的中间与ImageView
的中间(沿水平轴)对齐。如果TextView
中的文字更改为更大或更小的内容,则文本的中间部分始终需要与ImageView
的中间部分保持对齐。这可能在xml
吗?
答案 0 :(得分:7)
是的,您只是希望将LinearLayout
设置为android:gravity
的垂直center_horizontal
中包含这两个元素。
这样的事情:
<?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:gravity="center_horizontal"
android:orientation="vertical"
... >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
... />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
... />
</LinearLayout>
由于TextView
的宽度为wrap_content
,因此无需设置其重力。我这样做只是为了安全(另外,我也可以将宽度设置为match_parent
)。
答案 1 :(得分:0)
设置TextView
android:layout_width="fill_parent"
并在android:gravity="center"
中设置TextView
。
我认为它会对你有所帮助。
由于
答案 2 :(得分:0)
您可以按如下方式使用RealtiveLayout ..
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
... >
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
... />
<TextView
android:layout_below="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
/>
</RelativeLayout>
如果您希望textview仅为单行,请将以下属性添加到TextView
机器人:ellipsezed = “端” 机器人:SINGLELINE = “真”
使用给定的布局并将其添加到您现有的任何布局中,以获得您想要的结果..
希望这个解释对你有用..