Button 使用详解

和你一起终身学习,这里是程序员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" />
2.
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选择器,可以更加友好的跟用户进行交互。
1.
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背景选择器实现
<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>
3.
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正常以及获取焦点图片素材

btn_pressed.9.png

btn_normal.9.png
四、Button 点击事件
1.
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" />
2.
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 属性 实现点击事件
1.
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" />
2.
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 实现点击事件
}
3.实现效果如下:

点击实现效果
至此,本篇已结束。转载网络的文章,小编觉得很优秀,欢迎点击阅读原文,支持原创作者,如有侵权,恳请联系小编删除。同时感谢您的阅读,期待您的关注。
点个在看,方便您使用时快速查找!
评论
