Android应用的LinearLayout中嵌套RelativeLayout的布局用法

想将Button和ListView分别放在屏幕的一左一右。
单纯使用android:gravity和android:layout_gravity不成功。
于是涉及到RelativeLayout。
关键为:android:layout_alignParentRight="true",
android:layout_alignParentLeft="true":

<?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="wrap_content" android:gravity="center_vertical"> 

  <TextView
    android:id="@+id/mTextView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello" /> 

   <RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:gravity="right"
    android:padding="10dp">
    <TextView
      android:id="@+id/mTextView01"
      android:layout_alignParentLeft="true"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="范例一" />
    <Button
      android:id="@+id/mButton01"
      android:layout_alignParentRight="true"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="发送" />
    </RelativeLayout> 

    <RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:gravity="right"
    android:padding="10dp">
    <TextView
      android:id="@+id/mTextView02"
      android:layout_alignParentLeft="true"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="范例二" />
    <Button
      android:id="@+id/mButton01"
      android:layout_alignParentRight="true"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="发送" />
    </RelativeLayout>
</LinearLayout>

效果为:

PS:另附我的项目布局的一点经验

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="vertical"> 

  <LinearLayout android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_marginLeft="50px"
    android:layout_marginRight="50px"
    android:layout_marginBottom="15px"
    android:layout_gravity="center"
    android:gravity="center">
    <TextView
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:text="性别"
      android:textSize="18sp"
      android:layout_weight="3"/>
     <RadioGroup android:id="@+id/radioGroup"
       android:contentDescription="性别"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:orientation="horizontal"
       android:layout_weight="1"> 

      <RadioButton android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/radioMale"
        android:text="男"
        android:checked="true"
        android:layout_marginRight="15px"
        android:textSize="18sp">
        </RadioButton>
      <RadioButton android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/radioFemale"
        android:text="女"
        android:textSize="18sp">
        </RadioButton>
     </RadioGroup>
 </LinearLayout> 

</LinearLayout>

开始时RadioGroup的layout_width="wrap_content",怎么设置权都达不到想要的效果。要改成fill_parent
RadioButton的尺寸比TextView大  所以显示时TextView在上方,设置LinearLayout中android:gravity="center">即可。

(0)

相关推荐

  • Android App中的多个LinearLayout嵌套布局实例解析

    在做android  UI布局时,用了LinearLayout嵌套,发现效果并不如我预料一般 查了下资料,说是要设置layout_weight属性 资料说得不是很清楚,也没仔细看,就去弄,结果越弄越混乱. 于是静下心来,自己写xml测试,发现如下. 如果LinearLayout是最外面的一层,它是不会弹出layout_weight属性的, 换句话说最外层不能用layout_weight xml布局如下 <LinearLayout xmlns:android="http://schemas.

  • Android 布局控件之LinearLayout详细介绍

    LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列,按照相对位置来排列所有的widgets或者其他的containers,超过边界时,某些控件将缺失或消失.因此一个垂直列表的每一行只会有一个widget或者是container,而不管他们有多宽,而一个水平列表将会只有一个行高(高度为最高子控件的高度加上边框高度).LinearLayout保持其所包含的widget或者是container之间的间隔以及互相对齐(相对一个控件的右对齐.中间对齐或者左对齐). API说明

  • android LinearLayout和RelativeLayout组合实现精确布局方法介绍

    先明确几个概念的区别: padding margin都是边距的含义,关键问题得明白是什么相对什么的边距. padding是控件的内容相对控件的边缘的边距. margin是控件边缘相对父空间的边距.  android:gravity 属性是对该view 内容的限定.比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.该属性就干了这个. android:layout_gravity是用来设置该view中的子view相对于父view的位置.比如一个button

  • Android使用LinearLayout设置边框

    找到好多人的,都是文章随便copy,自己都不验证下,特别说LinearLayout中可以设置他的divider属性的,我在Android Studio中试了,根本显示不出来,这边是csdn上一个朋友回答的,我收藏了,放到这里,后面备用. 1.定一个underline的xml文件,把它放到drawable下 underline.xml <?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:a

  • Android应用借助LinearLayout实现垂直水平居中布局

    首先说的是LinearLayout布局下的居中一般是这样的: (注意:android:layout_width="fill_parent" android:layout_height="fill_parent" 属性中,若水平居中,至少在宽度上占全屏:若垂直居中,则在高度上占全屏) <LinearLayout android:layout_width="fill_parent" android:layout_height="fil

  • Android App中使用LinearLayout进行居中布局的实例讲解

    要想让您的控件水平居中或垂直居中其实很简单,只要在控件的上一级中设置[android:gravity="center"]属性即可 如: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:gravity="center" android:backgro

  • android LinearLayout 布局实例代码

    复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?>  <!--      <LinearLayout>         线性版面配置,在这个标签中,所有元件都是按由上到下的排队排成的   --> <LinearLayout      xmlns:android="http://schemas.android.com/apk/res/android"    

  • android 线性布局LinearLayout实例代码

    布局文件:res/layout/activity_my.xml 复制代码 代码如下: [html]  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:id="@+id/LinearLayout"     android:

  • Android自定义控件LinearLayout实例讲解

    很多时候Android常用的控件不能满足我们的需求,那么我们就需要自定义一个控件了.今天做了一个自定义控件的实例,来分享下. 首先定义一个layout实现按钮内部布局: <?xmlversion="1.0"encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:layout_width=&

  • Android中LinearLayout布局的常用属性总结

    基本属性要求 <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> </LinearLayout> android:orientation 决定是水平排列或是垂直排列 vertical 垂直排列 horizontal 水平排列 垂直排列 Bu

随机推荐