第七课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交互
通过findViewById(int 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()));
}
};
}
第七课GUI练练表面功夫相关推荐
- 【Cocos游戏实战】功夫小子第七课之游戏主功能场景逻辑功能和暂停功能场景的分析和实现...
CSDN的markdown编辑器是吃屎了么! !.什么玩意.!写了一半写不了东西还全没了,搞个毛线! 本节课的视频教程地址是:第七课在此 假设本教程有帮助到您,希望您能点击进去观看一下,并且如今注冊 ...
- Python学习,第七课(灵活使用Frame,让布局更舒适)
Python学习第七课(让界面布局舒适,是一个长久的工作) 一入布局深似海,加一减一都很难 基础知识 尝试布局 尝试好布局,感受下元素带来的不同 改造主程序,细节还是要优化 细节优化,细枝末节的参数 ...
- 第七课.简单的图像分类(一)
第七课目录 图像分类基础 卷积神经网络 Pooling layer BatchNormalization BatchNormalization与归一化 torch.nn.BatchNorm2d MNI ...
- C#之windows桌面软件第七课:(下集)串口工具实现数据校验、用灯反应设备状态
C#之windows桌面软件第七课:(下集)串口工具实现数据校验.用灯反应设备状态 using System; using System.Collections.Generic; using Syst ...
- Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”
Coursera公开课笔记: 斯坦福大学机器学习第七课"正则化(Regularization)" +13投票 斯坦福大学机器学习第七课"正则化"学习笔记, ...
- 《幸福就在你身边》第七课、工作着,快乐着【哈佛大学幸福课精华】
一.开心工作 愚人向远方寻找快乐,智者则在身旁培养快乐. 泰戈尔在<人生的亲证>中写道:"我们的工作日不是我们的欢乐日--因此,我们要求节日,我们在自己的工作中不能找到节日,所以 ...
- Asp.Net Web API 2第七课——Web API异常处理
Asp.Net Web API 2第七课--Web API异常处理 原文:Asp.Net Web API 2第七课--Web API异常处理 前言 阅读本文之前,您也可以到Asp.Net Web AP ...
- 投资学习网课笔记(part7)--基金第七课
学习笔记,仅供参考 文章目录 基金第七课 宽基指数和行业指数 市值加权型和策略加权型 常见的市值加权型指数 常见的策略加权型指数 中证系列指数基金 创业板指数基金 红利类指数基金 基本面类指数基金 价 ...
- Linux就应该这么学第七课-文件的特殊权限
Linux就应该这么学第七课 文件的特殊权限 1.SUID 将文件执行者临时获取所有者的权限 u+s 2.SGID 让执行者临时拥有属组的权限 g+s 在某个目录中创建的文件自动继承该目录的用户组(只 ...
- 《迅雷链精品课》第七课:以太坊数据存储分析
上一节课我们学习了比特币的区块链数据存储,接着前一篇的内容,我们继续了解以太坊的相关内容.业界一直把以太坊认为是区块链发展进程中2.0的代表,因为它在比特币的基础上增加了图灵完备的智能合约,扩展了区块 ...
最新文章
- CF715B. Complete The Graph
- 浅析网站开发的未来前景如何?
- python list循环语句的使用方法
- wchar_t * 与 char * 互相转换小记
- 删除A数据表中的一行数据时,不小心将表名写成了B,现在想恢复B中刚删除的的着一行数据怎么办...
- linux基础应用和常用技巧
- A/D采样控制电路设计---VHDL
- vs2015企业版密钥
- find a ubuntu featue
- 汇编语言答案-王爽第三版
- 实例225 模拟淘宝购物买卖双方交易问题
- python遍历json_Python学习笔记:Python3中Json数据遍历取指定值
- chrome os 安装java_Debian下chrome支持运行Java小程序
- 软件测试kpi指标,测试管理之绩效考核指标
- 手机将PDF转换成Word的超简单方法
- 数据库实体关系图(ERD)
- 无损音乐刻录成cd有意义吗_无损和CD不一样?无损音乐的“玄学”知多少?
- c++知识点汇总--数组
- iOS开发之应用首次启动显示用户引导 - 疯狂的萝卜 - 博客园
- 华为机试_HJ61 放苹果【简单】【收藏】