![](/img/trans.png)
[英]Align ImageView to center of a TextView in RelativeLayout
[英]Align TextView to center of RelativeLayout
在我的应用程序中,我有一个相对布局和内部3 textview。 我会放置3个textview,1到左,1到右,1到中心。
按原样
成为
这是我的布局XML
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:background="#FFFFFF"
>
<TextView
android:id="@+id/girone"
android:layout_width="fill_parent"
android:layout_height="20dip"
style="@style/NomeSquadra"
/>
<TextView
android:layout_marginLeft="2dip"
android:id="@+id/home"
android:layout_width="wrap_content"
android:layout_height="25dip"
android:layout_below="@+id/girone"
style="@style/NomeSquadra"
android:layout_alignParentLeft="true"
android:gravity="left|center_vertical"
/>
<TextView
android:layout_marginLeft="2dip"
android:id="@+id/vs"
android:layout_toRightOf="@+id/home"
android:layout_width="wrap_content"
android:layout_height="25dip"
android:layout_below="@+id/girone"
style="@style/NomeSquadra"
android:gravity="center|center_vertical"
/>
<TextView
android:layout_marginLeft="2dip"
android:id="@+id/away"
android:layout_toRightOf="@+id/vs"
android:layout_width="wrap_content"
android:layout_height="25dip"
android:layout_below="@+id/girone"
style="@style/NomeSquadra"
android:layout_alignParentRight="true"
android:gravity="right|center_vertical"
/>
</RelativeLayout>
@ style / NomeSquadra:
<style name="NomeSquadra" parent="@android:style/TextAppearance.Medium">
<item name="android:textColor">#C0C0C0</item>
<item name="android:typeface">monospace</item>
<item name="android:textSize">10sp</item>
<item name="android:textColorHighlight">#C0C0C0</item>
</style>
如何将带有id“vs”的textview置于相对布局(中心屏幕)的中心?
谢谢
尝试以下布局结构与您的...
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#FFFFFF" >
<TextView
android:id="@+id/girone"
style="@style/NomeSquadra"
android:layout_width="fill_parent"
android:layout_height="20dip" />
<TextView
android:id="@+id/home"
style="@style/NomeSquadra"
android:layout_width="wrap_content"
android:layout_height="25dip"
android:layout_alignParentLeft="true"
android:layout_below="@+id/girone"
android:layout_marginLeft="2dip"
android:gravity="left|center_vertical" />
<TextView
android:id="@+id/vs"
style="@style/NomeSquadra"
android:layout_width="wrap_content"
android:layout_height="25dip"
android:layout_below="@+id/girone"
android:layout_centerHorizontal="true"
android:gravity="center|center_vertical" />
<TextView
android:id="@+id/away"
style="@style/NomeSquadra"
android:layout_width="wrap_content"
android:layout_height="25dip"
android:layout_alignParentRight="true"
android:layout_below="@+id/girone"
android:layout_marginLeft="2dip"
android:layout_toRightOf="@+id/vs"
android:gravity="right|center_vertical" />
</RelativeLayout>
请使用TextView中的代码:
<TextView
android:layout_marginLeft="2dip"
android:id="@+id/vs"
android:layout_toRightOf="@+id/home"
android:layout_width="wrap_content"
android:layout_height="25dip"
android:layout_centerHorizontal="true"
android:layout_below="@+id/girone"
style="@style/NomeSquadra"
/>
尝试这个它会按照你的期望工作
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:id="@+id/1"
android:layout_width="wrap_content"
android:text="1"
android:layout_height="wrap_content"/>
<TextView android:id="@+id/3"
android:layout_width="wrap_content"
android:layout_alignParentEnd="true"
android:layout_height="wrap_content"
android:text="3"
/>
<TextView
android:id="@+id/2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="2" />
</RelativeLayout>
试试这个CodeView for Text,其id = android:id =“@ + id / vs
<TextView
android:id="@+id/vs"
android:layout_width="wrap_content"
android:layout_height="25dip"
android:layout_alignBaseline="@+id/away"
android:layout_alignBottom="@+id/away"
android:layout_centerHorizontal="true" />
希望这可以帮助。
使用android:layout_centerHorizontal="true"
Editted:
在布局xml文件中尝试以下代码
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<TextView
android:layout_width="wrap_content"
android:text="1"
android:layout_height="wrap_content"/>
<TextView
android:background="#ff6a0a0a"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="center first row" />
<TextView
android:layout_width="wrap_content"
android:layout_alignParentEnd="true"
android:layout_height="wrap_content"
android:text="3"
/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<TextView
android:layout_width="wrap_content"
android:text="1"
android:layout_height="wrap_content"/>
<TextView
android:background="#ff6a0a0a"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="2afasfasdf middle row content" />
<TextView
android:layout_width="wrap_content"
android:layout_alignParentEnd="true"
android:layout_height="wrap_content"
android:text="3"
/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<TextView
android:layout_width="wrap_content"
android:text="1"
android:layout_height="wrap_content"/>
<TextView
android:background="#ff6a0a0a"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="thrid row" />
<TextView
android:layout_width="wrap_content"
android:layout_alignParentEnd="true"
android:layout_height="wrap_content"
android:text="3"
/>
</RelativeLayout>
在我的情况下,我尝试使用android:layout_centerHorizontal="true"
,如此线程所示,当AdapterView(ListView,GridView等)为空时显示文本,但这不起作用:
解决方案是使用android:layout_centerVertical="true"
代替。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolsGridView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnWidth="90dp"
android:gravity="center"
android:horizontalSpacing="10dp"
android:numColumns="auto_fit"
android:stretchMode="columnWidth"
android:verticalSpacing="10dp" />
<TextView
android:id="@+id/emptyGridViewText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:gravity="center"
android:padding="12dp"
android:text="Not items to display at the moment. Please check again soon"
android:textColor="@color/colorAccent"
android:textSize="15sp"/>
</RelativeLayout>
记得使用android:gravity="center"
来正确对齐文本
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.