从简单的android 登陆应用 ,学习布局,

下面是一个简单的Android登陆,使用TableLayout 表格布局来实现,

 

从简单的android 登陆应用 ,学习布局,_第1张图片

代码如下:

  1. package com.birds.android.login;
  2. import android.app.Activity;
  3. import android.app.AlertDialog;
  4. import android.app.AlertDialog.Builder;
  5. import android.content.DialogInterface;
  6. import android.os.Bundle;
  7. import android.view.View;
  8. import android.view.View.OnClickListener;
  9. import android.widget.Button;
  10. import android.widget.EditText;
  11. public class LoginUI extends Activity {
  12.     @Override
  13.     public void onCreate(Bundle savedInstanceState) {
  14.         super.onCreate(savedInstanceState);
  15.         setContentView(R.layout.login_layou);
  16.         Button yesBtn = (Button) findViewById(R.id.btn1);
  17.         yesBtn.setOnClickListener(new ButtonHandler(this));
  18.         Button cancelBtn = (Button) findViewById(R.id.btn2);
  19.         cancelBtn.setOnClickListener(new ButtonHandler(this));
  20.     }
  21. }
  22. class ButtonHandler implements OnClickListener {
  23.     private Activity context;
  24.     public ButtonHandler(Activity context) {
  25.         this.context = context;
  26.     }
  27.     @Override
  28.     public void onClick(View v) {
  29.         EditText text1 = (EditText) context.findViewById(R.id.text1);
  30.         EditText text2 = (EditText) context.findViewById(R.id.text2);
  31.         if (v.getId() == R.id.btn1) {
  32.             Builder alertDialog = new AlertDialog.Builder(context);
  33.             alertDialog.setPositiveButton("OK",
  34.                     new DialogInterface.OnClickListener() {
  35.                         public void onClick(DialogInterface v, int btn) {
  36.                             v.cancel();  //  关闭当前的对话框.
  37.                         }
  38.                     });
  39.             alertDialog.setTitle("输入的信息:" + text1.getText() + " 密码;"
  40.                     + text2.getText());
  41.             alertDialog.show();
  42.         } else if (v.getId() == R.id.btn2) {
  43.             text1.setText("");
  44.             text2.setText("");
  45.         }
  46.     }
  47. }

布局设置,我们使用 xml的方式,如下:

login_layou.xml 

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    >
    <TableRow
      android:layout_width="fill_parent"
      android:layout_height="wrap_content">
     <TextView
        android:layout_width="100px"
        android:layout_height="wrap_content"
        android:text="账号名称:"
     />
    <EditText
      android:id="@+id/text1"
     android:layout_width="150px"
     android:layout_height="wrap_content"
        android:text=""
        android:maxLength="15"/>
    </TableRow> 
    
    <TableRow
      android:layout_width="fill_parent"
      android:layout_height="wrap_content">
     
     <TextView
        android:layout_width="100px"
        android:layout_height="wrap_content"
        android:text="帐号密码:"
     />
     <EditText
        android:id="@+id/text2"
     android:layout_width="150px"
     android:layout_height="wrap_content"
     android:password="true"
        android:maxLength="15"/>
   </TableRow>
    
   <TableRow
      android:layout_width="fill_parent"
      android:layout_height="wrap_content">
    <Button
    android:id="@+id/btn1"
 android:layout_width="80px"
 android:layout_height="wrap_content"
 android:text="@string/yes"/> 
    <Button
        android:id="@+id/btn2"
      android:layout_width="80px"
     android:layout_height="wrap_content"
     android:text="@string/cancel" />
   </TableRow>
 </TableLayout>

每个xml都有对应的java 代码方法,看起来xml比代码更为清晰。可以参考google android 文档.非常详细。

<TableRow></TableRow> 默认显示为一行。。

string.xml 如下

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, LoginUI</string>
    <string name="app_name">登陆</string>
    <string name="yes">确定</string>
    <string name="cancel">取消</string>
    <string name="text1">t1</string>
    <string name="text2">t2</string>
    <string name="btn1">btn1</string>
    <string name="btn2">btn2</string>
</resources>

 

 TableLayout 和 RelativeLayout 组合可以 显示 多种不同 的布局效果。RelativeLayout 相对复杂一点。

 

 

 

 

你可能感兴趣的:(android,xml,String,layout,button,encoding)