Button 使用详解
极力推荐文章:欢迎收藏
Android 干货分享
阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android
本篇文章主要介绍 Android
开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:
一、Button 的继承关系
二、Button 简单使用举例
三、自定义 Button 选择器
四、Button 点击事件
五、onClick属性 实现点击事件
一、Button 的继承关系
Button
继承 TextView
,具体关系如下:
java.lang.Object ↳ android.view.View ↳ android.widget.TextView ↳ android.widget.Button
二、Button 简单使用举例
使用 xml
布局跟java
代码动态设置TextView
。
- 1.
xml
布局如下:
<Button android:id="@+id/button_id" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/self_destruct" />
java
代码中使用方法如下:
Button OnClickListener
方法实现如下:
public class MyActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.content_layout_id); final Button button = findViewById(R.id.button_id); button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // Code here executes on main thread after user presses button } }); } }
三、 自定义 Button 选择器
自定义Button
选择器,可以更加友好的跟用户进行交互。
xml
布局使用
<Button android:id="@+id/btn_selector" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/custom_btn_green_selector" android:text="一、自定义Button背景选择器 " android:textColor="@color/white" />
- 2.
Button
背景选择器实现
<?xml version="1.0" encoding="UTF-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 按下去的背景颜色显示效果 --> <item android:drawable="@drawable/btn_pressed" android:state_pressed="true"/> <!-- 获取焦点时背景颜色显示效果 --> <item android:drawable="@drawable/btn_pressed" android:state_focused="true"/> <!-- 没有任何状态下的背景颜色 --> <item android:drawable="@drawable/btn_normal"/> </selector>
java
代码中点击实现 效果
public class ButtonMethod extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_button); // 一、自定义Button背景选择器、匿名内部类实现点击事件 Button mBtnSelector = (Button) findViewById(R.id.btn_selector); mBtnSelector.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Toast.makeText(ButtonMethod.this, "你点击了按钮选择器", 1).show(); } }); // 一、自定义Button背景选择器、匿名内部类实现点击事件 } }
- 4.
Button
正常以及获取焦点图片素材
四、Button 点击事件
xml
布局使用
<Button android:id="@+id/btn_test" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="16dp" android:text="二、按钮点击事件 实现" android:textColor="@color/white" />
java
代码中点击实现 效果
public class ButtonMethod extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_button); // 二、按钮点击事件 实现 Button mButton = (Button) findViewById(R.id.btn_test); BtnClick mBtnClick = new BtnClick(); mButton.setOnClickListener(mBtnClick); // 二、按钮点击事件 实现 } // 二、按钮点击事件 实现 class BtnClick implements OnClickListener { @Override public void onClick(View v) { // TODO Auto-generated method stub Toast.makeText(ButtonMethod.this, "你点击了按钮点击事件 实现", 1).show(); } } // 二、按钮点击事件 实现 }
五、onClick 属性 实现点击事件
xml
布局使用
<Button android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/custom_btn_white_selector" android:onClick="BtnTestonClick" android:text="三、使用 onClick 属性待替 Click 事件" android:textColor="@color/grey" />
java
代码中点击实现 效果
public class ButtonMethod extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_button); } // 三、使用 onClick 实现点击事件 public void BtnTestonClick(View view) { Toast.makeText(this, "你点击了onClick属性按钮", 1).show(); } // 三、使用 onClick 实现点击事件 }
- 实现效果如下:
至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!
相关推荐
VitaLemon 2020-10-17
北京老苏 2020-08-17
一像素 2020-08-16
yfisaboy 2020-07-28
preserve log:勾选,页面发生跳转,接口不丢失;;Disable cache:不使用缓存,勾选,拿服务器的缓存;不勾选,用本地缓存;;All那列,表示浏览器的请求类型,对应下面的列type;
baynkbtg 2020-07-05
dingqinghu 2020-06-16
deadgrape 2020-06-09
liujia 2020-06-02
牵手白首 2020-06-02
kikaylee 2020-05-31
MaureenChen 2020-05-25
delmarks 2020-05-17
王磊的程序员之路 2020-05-15
STPace 2020-05-07
singer 2020-05-07
e度空间 2020-04-30
furongwei 2020-04-25