美文网首页Android Zone
Android Button基本使用

Android Button基本使用

作者: 翻译不了的声响 | 来源:发表于2018-11-16 09:23 被阅读0次

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

    按钮效果图
    1. 设置背景
    • 设置背景图
      xml布局:
      <Button android:id="@+id/button"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:text="按钮"
          android:background="@drawable/ic_launcher"/>
    

      Java代码:

    button.setBackground(ContextCompat.getDrawable(this, R.drawable.ic_launcher));
    button.setBackgroundResource(R.drawable.ic_launcher);
    
    • 设置背景色
      xml布局:
      <Button android:id="@+id/button"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:text="按钮"
          android:background="#ff0000"/>
    

      Java代码:

    button.setBackgroundColor(getResources().getColor(R.color.colorAccent));
    button.setBackgroundColor(Color.parseColor("#F8F8FF"));
    
    2. 设置样式
    • 设置背景样式
      shape样式:
    <?xml version="1.0" encoding="utf-8"?>
    <shape
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">   
        <corners android:radius="6dp" />
        <solid android:color="#ffffff" />
        <padding android:bottom="10dp" android:left="20dp" android:right="20dp" android:top="10dp" />
        <stroke android:width="3dp" android:color="#99CCFF" />      
    </shape>
    

      xml布局:

      <Button android:id="@+id/button"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:text="按钮"
          android:background="@drawable/btn_bg"/>
    

      Java代码:

    button.setBackground(ContextCompat.getDrawable(this, R.drawable.btn_bg));
    button.setBackgroundResource(R.drawable.btn_bg);
    
    3. 点击事件

    ① 实现OnClickListener接口

    public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.layout_main);
            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 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();
                }
            });
        }
    
    }
    

    ③ 定义内部类

    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(listener);
        }
    
        class listener implements OnClickListener {
    
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "Clicked", Toast.LENGTH_SHORT).show();
            }
        }
    
    }
    

    ④ 布局添加onClick的属性
    xml布局:

       <Button  android:id="@+id/btn"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:onClick="click"
           android:text="点击事件" />
    

    Java代码:

    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);
        }
        
        public void click(View v) {
            Toast.makeText(MainActivity.this, "Clicked", Toast.LENGTH_SHORT).show();
        }   
    
    }
    
    参考

    Button官方文档,开启传送门

    ========== 相关推荐 ==========

    Android shape属性大全


    Android layer-list基本用法


    Android selector属性说明


    ============================

    相关文章

      网友评论

        本文标题:Android Button基本使用

        本文链接:https://www.haomeiwen.com/subject/fzpcxqtx.html