在LinearLayout中,如果将其定位方向设为横向排列:android:orientation="horizontal",那么这个布局中的控件将自左向右排列。

但有时会有这样的情况:行的左边有两个控制的同时,行的右边也有一个控制。

这怎么处理呢?

我们可以将右边的控件放在另一个LinearLayout中,同时将其对齐方式设为右对齐:android:gravity="right",还有一点,这个LinearLayout的宽度设为充满父控件: android:layout_width="fill_parent"。这样就行了。

完整的XML代码如下:

<?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:background="@drawable/bg"  
    android:orientation="horizontal" >  
    <TextView  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:text="左边1" />  
    <TextView  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:text="左边2" />  
    <!-- 将TextView包在另一个LinearLayout中  
         注意android:layout_width和android:gravity这两个属性  
    <LinearLayout  
        android:layout_width="fill_parent"  
        android:layout_height="wrap_content"  
        android:gravity="right" >  
        <TextView  
            android:layout_width="wrap_content"  
            android:layout_height="wrap_content"  
            android:layout_marginRight="10dp"  
            android:text="右边" />  
    </LinearLayout>  
</LinearLayout>  

android:gravity 属性是对该view中内容的限定.比如一个button 上面的text. 你可以设置该text 相对于view的靠左,靠右等位置.
android:layout_gravity是用来设置该view相对与父view 的位置.比如一个button 在linearlayout里,你想把该button放在linearlayout里靠左、靠右等位置就可以通过该属性设置.

即android:gravity用于设置View中内容相对于View组件的对齐方式,而android:layout_gravity用于设置View组件相对于Container的对齐方式。

当Linear Layout为水平时,可以设置上下

当Linear Layout为垂直时,可以设置左右

在LinearLayout中,如果将其定位方向设为横向排列:android:orientation="horizontal",那么这个布局中的控件将自左向右排列。但有时会有这样的情况:行的左边有两个控制的同时,行的右边也有一个控制。如图:这怎么处理呢?我们可以将右边的控件放在另一个LinearLayout中,同时将其对齐方式设为右对齐:android:gravity
Android动态添加右边对齐按钮Demo,主要代码: LinearLayout linearLayout =new LinearLayout (this); linearLayout .setGravity(Gravity.RIGHT); Button button=new Button(this); button.setText("按钮一"); linearLayout .addView(button); button=new Button(this); button.setText("按钮二"); linearLayout .addView(button); m LinearLayout Test.addView( linearLayout );
如果你希望 一个 组件 的宽高 可以被 里面的内容撑开 宽高自动改变大小 那么就用 Content Size Fitter 当你设置为PreferredSize的时候 会发现 你的width 或者 height 变成灰色的了 类似这样 他有三个值 Unconstrained: 组件 不根据 布局 元素调整 ,可手动修改长宽的值。 MinSize:根据 布局 元素的最小值来调整,不能手动修改长宽的值。 PreferredSize:根据 布局 元素的内容来调整,不能手动修改长宽的值。 简单举个例子 加深理解 最外层容器
LinearLayout ,如果将其定位方向设为横向排列:android:orientation="horizontal",那么这个 布局 的控件将自左向右排列。 但有时会有这样的情况:行的左边有两个控制的同时,行的右边也有一个控制。 这怎么处理呢? 我们可以将右边的控件放在另一个 LinearLayout ,同时将其对齐方式设为 右对齐 :android:gravity
<?xml version="1.0" encoding="utf-8"?> < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:id="@+id/activity_main" android:layout_width="match_parent" 后又做其他设置,右边按钮还是无法右边对齐,后做如下改动后方才实现, 将右边按钮放到另外一个 LinearLayout ,并设置该 LinearLayout 的 android:gravity="right", 这个 布局 代码如下 < LinearLayout xmlns
转自:http://www.cnblogs.com/xiaoran1129/archive/2013/03/26/2982954.html linearlayout 水平靠右显示方法 在安卓 ,只有垂直的 linearlayout 属性里面的内部 组件 靠左靠右才有效,同理,水平的 linearlayout 属性里面的内部 组件 靠上靠下才有效,否则无效由此考虑如何让水平 linearlayout 同一行内组