Mars安卓第一季
2016-03-04 23:52
197 查看
*为控件绑定监听器
*获取代表控件的对象
findViewById()
*定义一个类,实现监听器接口
可以是直接继承,也可以是定义一个内部类继承
*生成监听器对象
*为控件绑定监听器对象
setOnClickListener
*使用多选框的流程
*在XML文件当中使用<CheckBox/>标签
*设置id属性
*在代码当中使用CheckBox的对象表示
*使用findViewById()获取对象
*常用OnClickListener与OnCheckedChangeListener监听器
*单选按钮Radio
*在XML文件中使用<RadioButton/> & <RadioGroup/>
*在代码中获取RadioButton & RadioGroup对象
*常用OnClickListener与OnCheckedChangeListener监听器
*相对布局的相关属性
*使用layout_weight的要点
*子控件并没有占满父控件的所有空间
*layout_weight的值用于指定空闲空间的分配比例
RelativeLayout布局
android:layout_marginTop="25dip" //顶部距离
android:gravity="left" //空间布局位置
android:layout_marginLeft="15dip //距离左边距
// 相对于给定ID控件
android:layout_above 将该控件的底部置于给定ID的控件之上;
android:layout_below 将该控件的底部置于给定ID的控件之下;
android:layout_toLeftOf 将该控件的右边缘与给定ID的控件左边缘对齐;
android:layout_toRightOf 将该控件的左边缘与给定ID的控件右边缘对齐;
android:layout_alignBaseline 将该控件的baseline与给定ID的baseline对齐;
android:layout_alignTop 将该控件的顶部边缘与给定ID的顶部边缘对齐;
android:layout_alignBottom 将该控件的底部边缘与给定ID的底部边缘对齐;
android:layout_alignLeft 将该控件的左边缘与给定ID的左边缘对齐;
android:layout_alignRight 将该控件的右边缘与给定ID的右边缘对齐;
// 相对于父组件
android:layout_alignParentTop 如果为true,将该控件的顶部与其父控件的顶部对齐;
android:layout_alignParentBottom 如果为true,将该控件的底部与其父控件的底部对齐;
android:layout_alignParentLeft 如果为true,将该控件的左部与其父控件的左部对齐;
android:layout_alignParentRight 如果为true,将该控件的右部与其父控件的右部对齐;
// 居中
android:layout_centerHorizontal 如果为true,将该控件的置于水平居中;
android:layout_centerVertical 如果为true,将该控件的置于垂直居中;
android:layout_centerInParent 如果为true,将该控件的置于父控件的中央;
// 指定移动像素
//相对于父控件
android:layout_marginTop 上偏移的值;
android:layout_marginBottom 下偏移的值;
android:layout_marginLeft 左偏移的值;
android:layout_marginRight 右偏移的值;
*TimePicker时间控件
获取指定时间activity代码
*DatePicker的用法
获取指定日期的activity代码
*获取代表控件的对象
findViewById()
*定义一个类,实现监听器接口
可以是直接继承,也可以是定义一个内部类继承
*生成监听器对象
*为控件绑定监听器对象
setOnClickListener
<p>package com.thxy.activity;</p>import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class MainActivity extends Activity implements OnClickListener { private TextView textView; private Button button; private int count = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = (TextView) findViewById(R.id.textView); button = (Button) findViewById(R.id.button); button.setOnClickListener(this); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public void onClick(View v) { count++; textView.setText(count+""); } }
*使用多选框的流程
*在XML文件当中使用<CheckBox/>标签
*设置id属性
*在代码当中使用CheckBox的对象表示
*使用findViewById()获取对象
*常用OnClickListener与OnCheckedChangeListener监听器
package com.thxy.checkbox; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; public class MainActivity extends Activity { private CheckBox eatBox; private CheckBox sleepBox; private CheckBox dotaBox; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); eatBox = (CheckBox) findViewById(R.id.eatId); sleepBox = (CheckBox) findViewById(R.id.sleepId); dotaBox = (CheckBox) findViewById(R.id.dotaId); CheckBoxListener listener = new CheckBoxListener(); eatBox.setOnCheckedChangeListener(listener); sleepBox.setOnCheckedChangeListener(listener); dotaBox.setOnCheckedChangeListener(listener); /* OnBoxClickListener listener = new OnBoxClickListener(); eatBox.setOnClickListener(listener); sleepBox.setOnClickListener(listener); dotaBox.setOnClickListener(listener); */ } //OnCheckedChangeListener的使用方法 class CheckBoxListener implements OnCheckedChangeListener{ @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (buttonView.getId() == R.id.eatId) { System.out.println("eatBox"); }else if (buttonView.getId() == R.id.sleepId) { System.out.println("sleepBox"); }else if (buttonView.getId() == R.id.dotaId) { System.out.println("dotaBox"); } if (isChecked) { System.out.println("checked"); }else { System.out.println("unChecked"); } } } //OnClickListener的使用方法 /* class OnBoxClickListener implements OnClickListener { @Override public void onClick(View v) { CheckBox box = (CheckBox) v; if (box.getId() == R.id.eatId) { System.out.println("eat"); }else if(box.getId() == R.id.sleepId) { System.out.println("sleep"); }else if (box.getId() == R.id.dotaId) { System.out.println("dota"); } if (box.isChecked()) { System.out.println("checked"); } else { System.out.println("unChecked"); } } } */ @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
*单选按钮Radio
*在XML文件中使用<RadioButton/> & <RadioGroup/>
*在代码中获取RadioButton & RadioGroup对象
*常用OnClickListener与OnCheckedChangeListener监听器
RadioGroupListener l = new RadioGroupListener(); radioGroup.setOnCheckedChangeListener(l);
class RadioGroupListener implements android.widget.RadioGroup.OnCheckedChangeListener{ @Override public void onCheckedChanged(RadioGroup group, int checkedId) { if (checkedId == femaleButton.getId()) { System.out.println("男"); }else if (checkedId == maleButton.getId()) { System.out.println("女"); } } }
*相对布局的相关属性
*使用layout_weight的要点
*子控件并没有占满父控件的所有空间
*layout_weight的值用于指定空闲空间的分配比例
RelativeLayout布局
android:layout_marginTop="25dip" //顶部距离
android:gravity="left" //空间布局位置
android:layout_marginLeft="15dip //距离左边距
// 相对于给定ID控件
android:layout_above 将该控件的底部置于给定ID的控件之上;
android:layout_below 将该控件的底部置于给定ID的控件之下;
android:layout_toLeftOf 将该控件的右边缘与给定ID的控件左边缘对齐;
android:layout_toRightOf 将该控件的左边缘与给定ID的控件右边缘对齐;
android:layout_alignBaseline 将该控件的baseline与给定ID的baseline对齐;
android:layout_alignTop 将该控件的顶部边缘与给定ID的顶部边缘对齐;
android:layout_alignBottom 将该控件的底部边缘与给定ID的底部边缘对齐;
android:layout_alignLeft 将该控件的左边缘与给定ID的左边缘对齐;
android:layout_alignRight 将该控件的右边缘与给定ID的右边缘对齐;
// 相对于父组件
android:layout_alignParentTop 如果为true,将该控件的顶部与其父控件的顶部对齐;
android:layout_alignParentBottom 如果为true,将该控件的底部与其父控件的底部对齐;
android:layout_alignParentLeft 如果为true,将该控件的左部与其父控件的左部对齐;
android:layout_alignParentRight 如果为true,将该控件的右部与其父控件的右部对齐;
// 居中
android:layout_centerHorizontal 如果为true,将该控件的置于水平居中;
android:layout_centerVertical 如果为true,将该控件的置于垂直居中;
android:layout_centerInParent 如果为true,将该控件的置于父控件的中央;
// 指定移动像素
//相对于父控件
android:layout_marginTop 上偏移的值;
android:layout_marginBottom 下偏移的值;
android:layout_marginLeft 左偏移的值;
android:layout_marginRight 右偏移的值;
*TimePicker时间控件
获取指定时间activity代码
package com.thxy.timepicker; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TimePicker; import android.widget.TimePicker.OnTimeChangedListener; public class MainActivity extends Activity { private TimePicker firstTimePicker; private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); firstTimePicker = (TimePicker) findViewById(R.id.firstTimePicker); button = (Button) findViewById(R.id.button); //该函数用于设置是否使用24小时制显示时间 firstTimePicker.setIs24HourView(true); TimeListener listener = new TimeListener(); firstTimePicker.setOnTimeChangedListener(listener); ButtonListener l = new ButtonListener(); button.setOnClickListener(l); } class ButtonListener implements OnClickListener{ @Override public void onClick(View v) { int hour = firstTimePicker.getCurrentHour(); int minute = firstTimePicker.getCurrentMinute(); System.out.println("h:"+hour+".m:"+minute); } } class TimeListener implements OnTimeChangedListener{ /* * view:该对象代表着TimePicker * hourOfDay:用户所选择的小时 * minute:用户所选择的分钟 */ @Override public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { System.out.println("Hour:"+hourOfDay+",minute:"+minute); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
*DatePicker的用法
获取指定日期的activity代码
package com.thxy.datepicker; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.DatePicker; public class MainActivity extends Activity { private DatePicker datePicker; private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); datePicker = (DatePicker) findViewById(R.id.firstDatePicker); //设置DatePicker默认显示时间 datePicker.updateDate(2016, 2, 8); button = (Button) findViewById(R.id.button); ButtonListener listener = new ButtonListener(); button.setOnClickListener(listener); } class ButtonListener implements OnClickListener{ @Override public void onClick(View v) { int y = datePicker.getYear(); int m = datePicker.getMonth(); int d = datePicker.getDayOfMonth(); System.out.println("y:"+y+",m:"+m+",d:"+d); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
相关文章推荐
- 蒟蒻总结一下
- PXE + kickstart 无人值守自动装机实例
- 关于如何衡量个人在各自团队的效率和绩效
- 光学中的物理量的意义
- C/C++中的'\0'
- Djando安装配置
- LeetCode总结,动态规划问题小结
- 十六进制转十进制
- java类生命周期详细解析
- 2016-03-04今天重新打开eclipse
- PAT (Advanced Level) Practise 1022 Digital Library (30)
- JavaScript原型
- Centos6.5上搭建LAMP并使用navicat工具连接数据库
- 模式的秘密——适配器模式
- java RSA签名
- Android ListView滚动条配置完全解析
- jquery追加和删除元素总结
- 工作感悟
- 对着网页进行右键操作------审查元素(快速查看标签代码)
- android设计模式之---最佳单例模式==静态内部类单例模式