Android的基本控件(2)
来源:互联网 发布:2014网络流行语 编辑:程序博客网 时间:2024/05/19 05:38
基本控件——Button
一、父类:TextView
二、概念:可以被按,点击 并且执行一个动作
三、属性:
在按钮内部的上下左右设置图片:android:drawableBottom="@android:drawable/editbox_background_normal"
android:drawableLeft="@android:drawable/ic_dialog_alert"
android:drawableRight="@android:drawable/ic_menu_call"
android:background="@null"去掉背景颜色
android:background="@android:color/transparent" 设置背景颜色为透明
android:background="@android:color/transparent" 设置背景颜色为透明
四、监听:控件数量少 用一和二 控件数量多 用三和四
第一种实现:使用的是成员内部类第二种实现方式:匿名内部类
第三种实现方式 :类实现OnclickListner
第四种实现方法: * 布局文件中xml中添加点击事件 Onclick属性
* 1,方法必须是public
* 2,返回值必须是void
* 3,必须和xml中Onclick里属性名一致
* 4,必须有View参数
五、 四种监听的使用
第一种实现方式
import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class ButtonActivity extends Activity{private Button btn,btn02;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);//引入布局setContentView(R.layout.button_layout);//找出控件btn = (Button) findViewById(R.id.btn01);btn02 = (Button) findViewById(R.id.btn02);//得到监听器对象MyListner myListner = new MyListner();//给按钮设置监听btn.setOnClickListener(myListner);btn02.setOnClickListener(myListner);}/** * 成员内部类 * @author sxy * */public class MyListner implements OnClickListener{@Overridepublic void onClick(View v) {// TODO Auto-generated method stubswitch (v.getId()) {case R.id.btn01:Toast.makeText(ButtonActivity.this, "Register", Toast.LENGTH_SHORT).show();break;case R.id.btn02:Toast.makeText(ButtonActivity.this, "Login", Toast.LENGTH_SHORT).show();break;<pre name="code" class="java">
第二种实现方式
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.Toast;public class Button01Activity extends Activity{//静态标记private static final String TAG = "Button01Activity";private Button btn,btn02;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);//引入布局setContentView(R.layout.button_layout);//找出控件btn = (Button) findViewById(R.id.btn01);btn02 = (Button) findViewById(R.id.btn02);//匿名内部类//给按钮设置监听btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubLog.e(TAG, "==点击了按钮1==");}});btn02.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubLog.e(TAG, "=******=点击了按钮2=*****=");}});}}
第三种实现方式
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.Toast;/** * 类实现 OnClickListener * @author sxy * */public class Button02Activity extends Activity implements OnClickListener{//静态标记private static final String TAG = "Button01Activity";private Button btn,btn02;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);//引入布局setContentView(R.layout.button_layout);//找出控件btn = (Button) findViewById(R.id.btn01);btn02 = (Button) findViewById(R.id.btn02);//设置监听btn.setOnClickListener(this);btn02.setOnClickListener(this);}@Overridepublic void onClick(View v) {// TODO Auto-generated method stubswitch (v.getId()) {case R.id.btn01:Toast.makeText(Button02Activity.this, "注册成功", Toast.LENGTH_SHORT).show();break;case R.id.btn02:Toast.makeText(Button02Activity.this, "登录成功", Toast.LENGTH_SHORT).show();break;default:break;}}}
第四种实现方式
import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.widget.Toast;public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } /** * 布局文件中xml中添加点击事件 Onclick属性 * 1,方法必须是public * 2,返回值必须是void * 3,必须和xml中Onclick里属性名一致 * 4,必须有View参数 * @param v */ public void MyClick(View v){ Toast.makeText(MainActivity.this, "Hello World", Toast.LENGTH_SHORT).show(); } @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; } }
基本控件——CheckBox
一、概念:可以从一个集合选项中选择一个或者多个选项
二、属性:checked 选择状态
三、使用:
方式一:使用onclickListner 监听事件(点击事件)方式二:使用OnCheckedChangeListener (CompleButton) 状态改变的监听
【注】如果有全选的:全选的按钮的监听必须用onclickListner 监听事件
例题:
import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.CheckBox;import android.widget.Toast;public class MainActivity extends Activity {private CheckBox cbEat,cbSleep,cbHit; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); cbEat = (CheckBox) findViewById(R.id.cb_eat); cbSleep = (CheckBox) findViewById(R.id.cb_sleep); cbHit = (CheckBox) findViewById(R.id.cb_hit); } //点击的监听事件 onclickListner public void Onclick(View v){ //获取当前点击checkBox的状态 CheckBox cb = (CheckBox) v; boolean flag = cb.isChecked(); switch (v.getId()) {case R.id.cb_eat:if(flag){//ture 选择Toast.makeText(MainActivity.this, "您选择了吃饭", Toast.LENGTH_SHORT).show();}else{//没有选择Toast.makeText(MainActivity.this, "您没选择吃饭", Toast.LENGTH_SHORT).show();}break;case R.id.cb_sleep:if(flag){//ture 选择Toast.makeText(MainActivity.this, "您选择了睡觉", Toast.LENGTH_SHORT).show();}else{//没有选择Toast.makeText(MainActivity.this, "您没选择睡觉", Toast.LENGTH_SHORT).show();}break;case R.id.cb_hit:if(flag){//ture 选择Toast.makeText(MainActivity.this, "您选择了打斗", Toast.LENGTH_SHORT).show();}else{//没有选择Toast.makeText(MainActivity.this, "您没选择了打斗", Toast.LENGTH_SHORT).show();}break;default:break;} } }
import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.CheckBox;import android.widget.CompoundButton;import android.widget.CompoundButton.OnCheckedChangeListener;public class SecondActivity extends Activity {private CheckBox cbEat,cbSleep,cbHit,cbAll; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); cbEat = (CheckBox) findViewById(R.id.cb_eat); cbSleep = (CheckBox) findViewById(R.id.cb_sleep); cbHit = (CheckBox) findViewById(R.id.cb_hit); cbAll = (CheckBox) findViewById(R.id.cb_all); //获取监听对象 MyListner myListner = new MyListner(); //设置checkBox状态是否改变的监听 cbEat.setOnCheckedChangeListener(myListner); cbSleep.setOnCheckedChangeListener(myListner); cbHit.setOnCheckedChangeListener(myListner);// XXXX cbAll.setOnCheckedChangeListener(myListner);XXXXX //做全选 用点击事件 cbAll.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubCheckBox cb = (CheckBox) v;boolean flag = cb.isChecked();if(flag){//turecbEat.setChecked(true);cbSleep.setChecked(true);cbHit.setChecked(true);}else{cbEat.setChecked(false);cbSleep.setChecked(false);cbHit.setChecked(false);}}}); } public class MyListner implements OnCheckedChangeListener{@Overridepublic void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {// TODO Auto-generated method stubif(cbEat.isChecked()&&cbSleep.isChecked()&&cbHit.isChecked()){cbAll.setChecked(true);}else{cbAll.setChecked(false);}} } }
基本控件——RadioButton
一、概念:单选框 从多个互斥选项中选择一个 如果是选项全部展开 RadioButton 不是展开的Spinner(下拉列表)
二、属性: android:checked="true" 默认选择的项
三、使用方法:
使用RadioButton要用RadioGroup进行分组 RadioGroup是LinearLayout的子类 可以控制方向方式一:使用onclickListner 监听事件(点击事件)
方式二:****使用OnCheckedChangeListener (RadioGroup) 状态改变的监听 *****
例题:
import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.Toast;public class MainActivity extends Activity {private RadioGroup rg; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); rg = (RadioGroup) findViewById(R.id.rg); //状态改变的监听android.widget.RadioGroup rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {/** * 参数1:点击的RadioButton的分组 * 参数2:选择控件的Id */@Overridepublic void onCheckedChanged(RadioGroup group, int checkedId) {// TODO Auto-generated method stubRadioButton rb = (RadioButton) findViewById(checkedId);Toast.makeText(MainActivity.this, "======"+rb.getText().toString(), Toast.LENGTH_SHORT).show();}}); }}
基本控件——ProgressBar (进度条)
属性:
style="?android:attr/progressBarStyleSmall" 样式
android:progress="40" 第一进度
android:secondaryProgress="50" 第二进度
android:secondaryProgress="50" 第二进度
基本控件——SeekBar(音频播放拖拽进度条)
属性:
android:progress="40" 第一进度
android:secondaryProgress="50" 第二进度
使用: setOnSeekBarChangeListener
android:secondaryProgress="50" 第二进度
使用: setOnSeekBarChangeListener
例题:(ProgressBar ,SeekBar )
import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.Menu;import android.widget.ProgressBar;import android.widget.SeekBar;import android.widget.SeekBar.OnSeekBarChangeListener;public class MainActivity extends Activity {private ProgressBar progressBar;private SeekBar seekbar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); progressBar = (ProgressBar) findViewById(R.id.progressBar); seekbar = (SeekBar) findViewById(R.id.seekbar); //进度条 progressBar.setProgress(60); progressBar.setSecondaryProgress(70); //seekbar seekbar.setProgress(60); seekbar.setSecondaryProgress(70); //seekbar进度改变的监听 seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { //停止拖动@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {// TODO Auto-generated method stubLog.e("AAA", "停止");}//开始拖动@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {// TODO Auto-generated method stubLog.e("AAA", "开始");}//正在拖动/** * 参数1:seekBar * 参数2:进度值 * 参数3:是否是用户拖拽的 * */@Overridepublic void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {// TODO Auto-generated method stubLog.e("AAA", "正在拖拽"+fromUser);}}); } @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; } }
基本控件——ToggleButton 开关按钮(4.0之前)
基本控件——Switch 开关按钮(4.0之后)
例题:
import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.ImageView;import android.widget.Switch;import android.widget.ToggleButton;public class MainActivity extends Activity {private ImageView ivShow; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ivShow = (ImageView) findViewById(R.id.iv_show); } //switch的开关 public void Click(View v){ Switch switch1 = (Switch) v; boolean flag = switch1.isChecked(); if(flag){//tureivShow.setImageResource(R.drawable.bg1);}else{ivShow.setImageResource(R.drawable.bg);} } //ToggleButton开关的监听事件public void MyOnclick(View v){ToggleButton toggleButton = (ToggleButton) v;boolean flag = toggleButton.isChecked();if(flag){//tureivShow.setImageResource(R.drawable.bg1);}else{ivShow.setImageResource(R.drawable.bg);}}}
0 0
- Android的基本控件(2)
- Android的基本控件
- Android基本控件的使用(2)
- Android, 基本控件的使用
- android基本控件的使用
- Android控件的基本属性
- android的一些基本控件
- Android基本控件的使用
- android基本控件的基本设置
- Android学习(2)---Android基本控件的学习
- 【Android】Android常用控件的基本使用
- Android自定义控件(二 .2)Path的基本操作
- Android常用控件的基本使用说明
- Android(4.Activity的基本控件)
- android最基本的控件使用
- 【Android基本控件】ListView 的用法
- Android控件的三个基本属性...
- Android中WebView控件的基本使用
- android 使用xposed安装器
- bzoj2820(莫比乌斯反演)
- Spring-boot-admin功能说明
- cf 706C Hard Problem(dp)
- python实现爬虫--以CSDN为例
- Android的基本控件(2)
- HDU-1599-find the mincost route【最短路】【无向图最小环】
- 影响数据库性能的因素
- 文件I/O
- Struts2框架13.值栈
- CH3-类与对象
- Search in Rotated Sorted Array II
- Android多线程下安全访问数据库
- 03 ProgressBar 进度条