Android--控件Button的详细用法介绍(适合初学者)

来源:互联网 发布:网络销售是正规工作么 编辑:程序博客网 时间:2024/06/06 06:46

Button是Android中一个非常简单的控件,在我们平时的项目中,可以说是非常的常见,使用率也是相当高。本身对于这个控件的用法也是很好掌握的,下面我们就从几个方面介绍一下它的用法,以及一些自定义Button的使用。

首先讲讲Button的一些基本用法:

<!--创建一个按钮,并且命名为btn1--><Button        android:layout_width="match_parent"        android:layout_height="50dp"        android:text="按钮1"        />
<!--没有什么特别的地方,我们只是使用"android:background"为按钮增加了一个红色。--><Button        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="按钮2"        android:background="#ff0000"        />
////这里我们只是使用"android:background"为按钮添加了一张图片背景(我事先准备好的,放置在mipmap下)  <Button        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="图片按钮"        android:background="@mipmap/blue"        />

使用点9图片:
一般而言,我们安卓android studio的时候有一个SDK,而点9工具默认的路径为“SDK–tools–draw9patch.bat”这一个就是我们的点9工具。当然了,我们也可以直接配置到android studio中,这样我们可以直接在as中打开。在刚刚那个路径下直接打开也是可以的。再或者我们在该目录下找不到draw9patch.bat,那么我们不妨就直接新建一张图片,重新命名为.9.XX格式,直接拖拽至我们的项目,也可以触发这个工具。那么点9工具怎么使用呢?

点9图片处理好之后直接引用就可以啦!

  <Button        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="点9图片按钮"        android:background="@mipmap/blue_deal"        />

使用shape来自定义按钮形状:
drawable下新建btn_shape.xml

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android">    <corners android:radius="10dp"/><!--设置圆角-->    <solid android:color="@color/grey"/><!--设置背景颜色--></shape>
<Button        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="圆角图片"        android:background="@drawable/btn_shape"        />

使用style下的自定义样式:

 <!--通用样式-->    <style name="btnStyle">        <item name="android:background">@drawable/btn_shape</item>        <item name="android:textColor">#ffffff</item>        <item name="android:textSize">22sp</item>    </style>
 <Button        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_marginTop="10dp"        android:text="通用样式"        style="@style/btnStyle"        />

通过selector来使用按钮的选择变化:
drawable下新建btn_selector.xml

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <!--按钮下压样式-->    <item android:state_pressed="true" >        <shape>            <corners android:radius="10dp"></corners>            <solid android:color="@color/red"></solid>            <stroke android:width="2dp" android:color="#FFC626"></stroke>        </shape>    </item>    <!--按钮默认样式-->    <item>        <shape>            <corners android:radius="10dp"></corners>            <solid android:color="@color/black"></solid>            <stroke android:width="2dp" android:color="#FFC626"></stroke>        </shape>    </item></selector>
<Button        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_marginTop="10dp"        android:text="改变按钮背景"        android:textColor="#ffffff"        android:background="@drawable/btn_selector"        />

下面我们讲解一些按钮的监听事件(常用的两种):

一:通过实现OnClickListener接口

public class MainActivity extends Activity implements View.OnClickListener {//实现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();    }}

二:使用匿名内部类

public class MainActivity extends Activity {    @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();            }        });    }}

具体使用哪种看个人喜好咯!

0 0
原创粉丝点击