Android 均匀覆盖界面的TextView


有时候想做界面是5个TextView平均的分布在页面上,为了方便以后使用,将自己写的代码写成博客,方便以后使用,原理是外边使用相对布局,先将第一个(layout_alignParentTop)、第三个(layout_centerInParent)、第五个的位置(layout_alignParentBottom)确定,然后再确定第二个的位置(在第一个的下边,在第三个的上边),但只这么写就会发现第二个的位置距离第一个的距离比较近,而距离第三个的距离比较远,所以在第二个的外边先套一个大的RelativeLayout(宽度和高度为fill_parent),然后将第二个放在这个布局的中间位置,同理第四个。

代码:

  1. <RelativeLayout xmlns:Android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent" >  
  5.   
  6.     <TextView  
  7.         android:id="@+id/mMainFirst"  
  8.         android:layout_width="wrap_content"  
  9.         android:layout_height="wrap_content"  
  10.         android:layout_alignParentTop="true"  
  11.         android:layout_centerHorizontal="true"  
  12.         android:padding="@dimen/padding_medium"  
  13.         android:background="@drawable/ic_launcher"  
  14.         android:text="第一行"  
  15.         tools:context=".MainActivity" />  
  16.     <TextView  
  17.         android:id="@+id/mMainThird"  
  18.         android:layout_width="wrap_content"  
  19.         android:layout_height="wrap_content"  
  20.         android:layout_centerInParent="true"  
  21.         android:padding="@dimen/padding_medium"  
  22.         android:background="@drawable/ic_launcher"  
  23.         android:text="第三行"  
  24.         tools:context=".MainActivity" />  
  25.     <TextView  
  26.         android:id="@+id/mMainFifth"  
  27.         android:layout_width="wrap_content"  
  28.         android:layout_height="wrap_content"  
  29.         android:layout_alignParentBottom="true"  
  30.         android:layout_centerHorizontal="true"  
  31.         android:padding="@dimen/padding_medium"  
  32.         android:background="@drawable/ic_launcher"  
  33.         android:text="第五行"  
  34.         tools:context=".MainActivity" />  
  35.     <RelativeLayout  
  36.         android:layout_width="fill_parent"  
  37.         android:layout_height="fill_parent"  
  38.         android:layout_below="@id/mMainFirst"  
  39.         android:layout_above="@id/mMainThird">  
  40.         <TextView  
  41.             android:id="@+id/mMainSecond"  
  42.             android:layout_width="wrap_content"  
  43.             android:layout_height="wrap_content"  
  44.             android:layout_centerInParent="true"  
  45.             android:padding="@dimen/padding_medium"  
  46.             android:background="@drawable/ic_launcher"  
  47.             android:text="第二行"  
  48.             tools:context=".MainActivity" />  
  49.     </RelativeLayout>  
  50.       
  51.     <RelativeLayout  
  52.         android:layout_width="fill_parent"  
  53.         android:layout_height="fill_parent"  
  54.         android:layout_below="@id/mMainThird"  
  55.         android:layout_above="@id/mMainFifth">  
  56.         <TextView  
  57.             android:id="@+id/mMainFourth"  
  58.             android:layout_width="wrap_content"  
  59.             android:layout_height="wrap_content"  
  60.             android:layout_centerInParent="true"  
  61.             android:padding="@dimen/padding_medium"  
  62.             android:background="@drawable/ic_launcher"  
  63.             android:text="第四行"  
  64.             tools:context=".MainActivity" />  
  65.     </RelativeLayout>  
  66.       
  67. </RelativeLayout>  

效果为:

相关内容