2014-02-26 108 views
3

我有一个相对布局和3个textview。我会把3 textview ,1左侧,1右侧和1中心。在我的应用程序中将TextView对齐到RelativeLayout的中心

AS IS

enter image description here

enter image description here

这是我的布局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> 

@风格/ 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> 

如何发生的TextView ID为 “VS” 到相对布局(屏幕中心)的中心?

感谢

+0

尝试layout_gravity –

回答

3

尝试用你的这个布局如下结构...

<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> 
+0

android:layout_gravity =“center_horizo​​ntal”不工作... – Gjord83

+0

看到我更新的答案...我认为你会得到它的权利。 –

+0

现在工作正常!大!!! – Gjord83

1

请在您的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" 

     /> 
+0

机器人:layout_gravity = “CENTER_HORIZONTAL” 不行... – Gjord83

+0

机器人:layout_centerHorizo​​ntal = “真正的” 替换此 –

0

试试这个代码的TextView,其ID = 机器人: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" /> 

希望这会有所帮助。

1

尝试这一个它会工作wh在你期望

<?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> 
+0

机器人:layout_alignParentEnd =“true”not found ... – Gjord83

+0

@ user3336884只需将此代码复制并粘贴到一个新的xml中,然后查看结果是什么... – Aravin

+0

并确保您使用的是相对布局。 – Aravin

0

使用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> 
+0

android:layout_centerHorizo​​ntal =“true”不适合我.... – Gjord83

0

就我而言,我尝试使用android:layout_centerHorizontal="true"的建议在此线程,来显示文本时,适配器视图(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"正确对齐文本

enter image description here

相关问题