第七课GUI练练表面功夫

第七课GUI练练表面功夫

Android类当中定义View类作为可视化控件的基类。主要提供了控件绘制和事件处理的方法。而可视化控件是指重新实现了View的绘制和事件处理方法并最终与用户交互的对象,如文本显示、按钮等。

ViewGroup类是继承自View类,最大的特点是可以子控件。详见下图:

1 创建页面组件

res/layout/main.xml文件中增加页面组件。可用IDE当中的Graphical layout模式进行可视化操作,再进行对mail.xml文件的直接修改。

最终代码如下:

<?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="fill_parent"

    >

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

<TextView android:text="文本框" android:id="@+id/TextView01" android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView>

<EditText android:text="" android:id="@+id/EditText01" android:layout_width="fill_parent" android:layout_height="wrap_content"></EditText>

<TextView android:text="复选框:" android:id="@+id/TextView02" android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView>

<CheckBox android:text="option1" android:id="@+id/CheckBox01" android:layout_width="fill_parent" android:layout_height="wrap_content"></CheckBox>

<CheckBox android:text="option2" android:id="@+id/CheckBox02" android:layout_width="fill_parent" android:layout_height="wrap_content"></CheckBox>

<TextView android:text="时间:" android:id="@+id/TextView03" android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView>

<DigitalClock android:text="@+id/DigitalClock01" android:id="@+id/DigitalClock01" android:layout_width="fill_parent" android:layout_height="wrap_content"></DigitalClock>

<DatePicker android:id="@+id/DatePicker01" android:layout_width="fill_parent" android:layout_height="wrap_content"></DatePicker>

<Button android:text="提交" android:id="@+id/Button01" android:layout_width="fill_parent" android:layout_height="wrap_content"></Button>

</LinearLayout>

2 activity类处理GUI交互

通过findViewByIdint id)进行对GUI控件的对象获取。

代码如下:

package dongxing.shane;

 

import android.app.Activity;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.CheckBox;

import android.widget.DatePicker;

import android.widget.DigitalClock;

import android.widget.EditText;

import android.widget.TextView;

 

public class PageDemo extends Activity {

    /** Called when the activity is first created. */

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        Button button=(Button)findViewById(R.id.Button01);//得到资源按钮控件

        button.setOnClickListener(yourName);//使用yourName方法监听单击按钮

    }

   

    private OnClickListener yourName= new OnClickListener()//创建单击监听方法

    {

 

  @Override //重写onClick方法

  public void onClick(View v) {

    EditText nameObj=(EditText)findViewById(R.id.EditText01);

        TextView resultObj=(TextView)findViewById(R.id.TextView01);

        CheckBox checkBox1=(CheckBox)findViewById(R.id.CheckBox01);

        CheckBox checkBox2=(CheckBox)findViewById(R.id.CheckBox02);

        DigitalClock digitalClock =(DigitalClock)findViewById(R.id.DigitalClock01);

        DatePicker datePicker=(DatePicker)findViewById(R.id.DatePicker01);

        

        Log.i("EditText---------------- ",String.valueOf(nameObj.getText()));

        Log.i("TextView---------------- ",String.valueOf(resultObj.getText()));

        Log.i("checkBox1---------------- ",String.valueOf(checkBox1.isChecked()));

        Log.i("checkBox2---------------- ",String.valueOf(checkBox2.isChecked()));

        Log.i("DigitalClock------------ ",String.valueOf(digitalClock.getText()));

        Log.i("DatePicker-getYear------ ",String.valueOf(datePicker.getYear()));

        Log.i("DatePicker-getMonth----- ",String.valueOf(datePicker.getMonth()+1));

        Log.i("DatePicker-getDayOfMonth--- ",String.valueOf(datePicker.getDayOfMonth()));

  }

   

    };

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值