Android-Button按钮控件详解

Button是日常开发当中使用最多的控件之一,主要的表现是App当中的按钮。

Button常用属性

可能有的小伙伴会很疑惑,你不是详解Button控件吗?怎么不像之前那样列举属性了。因为Button是继承TextView实现的,如果想要详细了解所有的属性建议去看我的这篇文章:
Android-TextView文本视图控件详解

Button的常用属性有:
1.放一个drawable资源:

android:drawable =""

2.可拉伸要绘制的文本的上面:

android:drawableTop = ""

3.可拉伸要绘制的文本的下面:

android:drawableBottom = ""

4.可拉伸要绘制的文本的左侧:

android:drawableLeft = "'

5.可拉伸要绘制的文本的右侧:

android:drawableRight = ""

6.设置显示的文本:

android:text = ""

7.设置显示文本的颜色 :

android:textColor = ""

8.设置显示文本字体大小:

android:textSize = ""

9.可拉伸使用的背景:

android:background = "'

10.设置点击事件:

android:onClick = ""

Button状态属性详解

1.是否按下,如一个按钮触摸或者点击。

android:state_pressed =""

2.是否取得焦点,比如用户选择了一个文本框。

android:state_focused = ""

3.光标是否悬停,通常与focused state相同。

android:state_hovered = ""

4.被选中状态。

android:state_selected = ""

5.组件是否能被check。如:RadioButton是可以被check的。

android:state_checkable = ""

6.被checked了,如:一个RadioButton可以被check了。

android:state_checked = ""

7.能够接受触摸或者点击事件。

android:state_enabled = ""

8.能够接受触摸或者点击事件。

android:state_enabled = ""

9.被激活。

android:state_activated = ""

10.应用程序是否在前台,当有通知栏被拉下来或者一个对话框弹出的时候应用程序就不在前台了。

android:state_window_focused = ""

简单实现一个Button

Button的点击事件(常用的两种)

1.通过实现OnClickListener接口

/**
 * 实现OnClickListener接口
 */
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_main);
        //找到Button,因为是返回的是VIEW,所以我们进行强转
        Button btn = (Button) findViewById(R.id.btn);
        //绑定监听
        btn.setOnClickListener(this);
    }
    
    //重写onClick()方法
    @Override
    public void onClick(View v) {
        Toast.makeText(MainActivity.this, "Clicked", Toast.LENGTH_SHORT).show();
    }
}

2.使用匿名内部类

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_main);
        Button btn = (Button) findViewById(R.id.btn);
        //使用匿名内部类
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "Clicked", Toast.LENGTH_SHORT).show();
            }
        });
    }
}

Button使用可能会遇到的情况

1.默认显示大写情况

我们在xml文件Button控件设置的文字明明是“Button”,但是最终显示在界面上面的情况是“BUTTON”,这是由于系统可能对Button中的所有英文字母自动转换成大写了,如果不是你想要的效果,就在xml文件Button控件里面设置下面的属性:

android:textAllCaps="false";

你可能感兴趣的:(Android-Button按钮控件详解)