android之網格佈局和線性佈局實現註冊頁面
java
(注意:一、再用weight的時候,各個組件要設置寬度爲0dp,高度也要設置,二、即便沒有設置weight,再用linear佈局時,好比view和button都要設置寬度高度。三、若是出現運行錯誤,能夠先檢查哪一個組件沒設置高度)android
:values/strings.xmlapp
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Day_02_07</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<string-array name="citys">
<item>北京</item>
<item>天津</item>
<item>上海</item>
<item>重慶</item>
</string-array>
</resources>
ide
主頁面:佈局
:layout/activity_main.xmlspa
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/btn_linearlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="用線性佈局實現註冊"
android:onClick="linearLayout"/>
<Button
android:id="@+id/btn_relativelayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="用相對佈局實現註冊"/>
<Button
android:id="@+id/btn_tablelayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="用表格佈局實現註冊"/>
<Button
android:id="@+id/btn_Gridlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="用網格佈局實現註冊"
android:onClick="girdLayout"/>
</LinearLayout>
3d
網格佈局:xml
layout/grid_layout.xml
事件
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:columnCount="5">
<TextView
android:text="用 戶 名"/>
<EditText
android:hint="2-10個字符"
android:layout_columnSpan="4"
android:layout_gravity="fill_horizontal"/>
<TextView
android:text="輸入密碼"/>
<EditText
android:hint="2-10個字符"
android:layout_columnSpan="4"
android:password="true"
android:layout_gravity="fill_horizontal"/>
<TextView
android:text="確認密碼"/>
<EditText
android:hint="2-10個字符"
android:layout_columnSpan="4"
android:password="true"
android:layout_gravity="fill_horizontal"/>
<TextView
android:layout_marginTop="10dp"
android:text="選擇性別"/>
<RadioGroup
android:layout_marginLeft="10dp"
android:layout_columnSpan="4"
android:layout_gravity="fill_horizontal"
android:orientation="horizontal">
<RadioButton
android:id="@+id/rbMale"
android:text="男"
android:checked="true"/>
<RadioButton
android:id="@+id/rbFemale"
android:text="女"/>
</RadioGroup>
<TextView
android:text="所在地"/>
<Spinner
android:layout_columnSpan="4"
android:entries="@array/citys"/>
<TextView
android:layout_marginTop="10dp"
android:text="選擇愛好"/>
<RadioGroup
android:layout_columnSpan="4"
android:orientation="horizontal">
<CheckBox
android:text="讀書"
android:checked="true"/>
<CheckBox
android:text="旅遊"/>
<CheckBox
android:text="電玩"/>
</RadioGroup>
<Button
android:visibility="invisible"/>
<Button
android:text="註冊"
android:textColor="#fff"
android:padding="3dp"
android:drawableLeft="@drawable/login32x32"
android:background="@drawable/btn_bg"/>
<Button
android:visibility="invisible"/>
<Button
android:text="退出"
android:textColor="#fff"
android:padding="3dp"
android:drawableLeft="@drawable/exit32x32"
android:background="@drawable/btn_bg"/>
<Button
android:visibility="invisible"/>
<Button
android:text="返回"
android:layout_gravity="bottom|fill_horizontal"
android:layout_columnSpan="5"
/>
</GridLayout>
utf-8
效果:
線性佈局
:layout/linear_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="用戶名:"/>
<EditText
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="請輸入1-10個字符"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="密 碼:"/>
<EditText
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="請輸入1-10個字符"
android:password="true"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="確認密碼:"/>
<EditText
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="請輸入1-10個字符"
android:password="true"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="選擇性別:"/>
<RadioGroup
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal"
>
<RadioButton
android:id="@+id/rbMale"
android:text="男"
android:checked="true"/>
<RadioButton
android:id="@+id/rbreMale"
android:text="女"/>
</RadioGroup>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="城市:"/>
<Spinner android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:entries="@array/citys"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="興趣愛好:"/>
<RadioGroup
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal"
>
<CheckBox
android:text="讀書"
android:checked="true"/>
<CheckBox
android:text="旅遊"
/>
<CheckBox
android:text="打電子"
/>
</RadioGroup>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:visibility="invisible"
android:layout_weight="1"
/>
<Button
android:id="@+id/btRegister"
android:text="註冊"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/login32x32"
android:background="@drawable/btn_bg"
/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:visibility="invisible"
android:layout_weight="1"
/>
<Button
android:id="@+id/btEixt"
android:text="退出"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/exit32x32"
android:background="@drawable/btn_bg"
/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:visibility="invisible"
android:layout_weight="1"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
>
<Button
android:text="返回"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom|fill_horizontal"
android:background="@drawable/btn_bg"
/>
</LinearLayout>
</LinearLayout>
效果:
java代碼:
com.example.day_02_07.MainActivity
package com.example.day_02_07;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
//處理網格佈局按鈕的點擊事件
public void girdLayout(View v){
Log.i("main",((Button)v).getText().toString());
setContentView(R.layout.grid_layout);
}
//處理線性佈局按鈕的點擊事件
public void linearLayout(View v){
Log.i("main",((Button)v).getText().toString());
setContentView(R.layout.linear_layout);
}
}
主頁效果: