1. 程式人生 > >Android佈局的巢狀

Android佈局的巢狀

 今天是我堅持寫部落格的第三天,希望自己堅持下去,今天我要重溫的是佈局的巢狀。
 大家還記得我們最常用的那幾種佈局麼,下面我們在回憶一下吧!
 一、常用的五種佈局
 (1)LinearLayout 線性佈局
 線性佈局常用的屬性:android:orientation=""
 橫向排列:horizontal
 縱向排列:vertical
 還有常用的權重weight
如果LinearLayout是最外面的一層,它是不會彈出layout_weight屬性的換句話說最外層不能用layout_weight
 (2)RelativeLayout 相對佈局
 相對佈局的屬性比較多;
 相對一個控制元件的位置屬性;
 android:layout_toLeftOf
android:layout_toRightOf
android:layout_above
android:layout_below
android:layout_alignBaseline
android:layout_alignLeft
android:layout_alignRight
android:layout_alignTop
android:layout_alignBottom
android:layout_alignParentLeft
android:layout_alignParentRight
android:layout_alignParentTop
android:layout_alignParentBottom
android:layout_centerInParent
android:layout_centerHorizontal
android:layout_centerVertical
android:layout_margin
android:layout_marginLeft
android:layout_marginRight
android:layout_marginTop
android:layout_marginBottom
基本屬性的應用,基本android studio和eclipsede編寫程式的時候可以自動補全和提示。
(3)TableLayout 表格佈局
(4)AbsoluteLayout 絕對佈局
後兩個佈局用的比較少,我以前寫過一個部落格是關於常用的五種佈局,連結在下面:大家可以參考。
http://blog.csdn.net/qq_15776931/article/details/53494076
二、佈局的巢狀
我用Linearlayout實現巢狀的簡單程式碼。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_qiaotaoactovity"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context
="com.zes.base.mydalytext.activity.QiantaoActovity" android:orientation="vertical" >
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="--請輸入您的賬號和密碼--" android:textSize="20dp" android:gravity="center"
android:layout_marginTop="15dp" />
<EditText android:id="@+id/username_et" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="請輸入賬號:" android:layout_marginLeft="30dp" android:layout_marginRight="30dp" android:layout_marginTop="15dp" /> <EditText android:id="@+id/password_et" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="請輸入密碼:" android:inputType="numberPassword" android:layout_marginLeft="30dp" android:layout_marginRight="30dp" android:layout_marginTop="15dp" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_marginTop="15dp"> <Button android:id="@+id/login_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="登入" android:layout_weight="1" android:layout_marginRight="5dp" android:layout_marginLeft="5dp"/> <Button android:id="@+id/zhuce_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="註冊" android:layout_weight="1" android:layout_marginLeft="5dp" android:layout_marginRight="5dp"/> </LinearLayout> </LinearLayout>
只是簡單的佈局巢狀實現。
三、針對LinearLayout的oritation屬性實現個簡單的程式碼下面上截圖,實現的功能是點選縱向按鈕佈局顯示為縱向,點選橫向按鈕實現橫向佈局。截圖:程式碼:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;

import com.zes.base.mydalytext.R;

public class LinearlayoutActivity extends Activity implements View.OnClickListener{
    private Button v_btn,h_btn;
    private LinearLayout linearlayout;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_linearlayout);
        v_btn = (Button) findViewById(R.id.v_btn);
        h_btn = (Button) findViewById(R.id.h_btn);
        linearlayout = (LinearLayout) findViewById(R.id.activity_linearlayout);
        v_btn.setOnClickListener(this);
        h_btn.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.v_btn :
                linearlayout.setOrientation(LinearLayout.VERTICAL);
                break ;
            case R.id.h_btn :
                linearlayout.setOrientation(LinearLayout.HORIZONTAL);
                break ;
        }
    }
}

今天寫的有點雜,希望不會影響大家閱讀!
——縱向——
這裡寫圖片描述
——橫向——
這裡寫圖片描述