安卓开发(UI组件-Button)

得意犹堪夸世俗,诏黄新湿字如鸦。这篇文章主要讲述安卓开发:UI组件-Button相关的知识,希望能为你提供帮助。
2.3Button
Button继承自TextView,除了通过属性设置按钮样式,还可以通过绑定drawable文件的方式来实现不同样式。
2.3.1按钮样式
新建Activity:ButtonActivity,添加Layout视图:activity_button.xml.
activity_button.xml:

1 < ?xml version="1.0" encoding="utf-8"?> 2 < RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 3android:layout_width="match_parent" 4android:layout_height="match_parent" 5android:padding="15dp"> 6< Button 7android:id="@+id/btn_1" 8android:layout_width="match_parent" 9android:layout_height="40dp" 10android:text="普通按钮" 11android:textSize="20sp" 12android:textColor="#ffffff" 13android:background="#000000" 14android:layout_marginTop="10dp"/> 15< Button 16android:id="@+id/btn_2" 17android:layout_width="match_parent" 18android:layout_height="40dp" 19android:text="圆角按钮" 20android:textSize="20sp" 21android:textColor="#ffffff" 22android:background="@drawable/bg_btn1" 23android:layout_below="@id/btn_1" 24android:layout_marginTop="10dp"/> 25< Button 26android:id="@+id/btn_3" 27android:layout_width="357dp" 28android:layout_height="wrap_content" 29android:layout_below="@+id/btn_2" 30android:layout_marginTop="10dp" 31android:background="@drawable/bg_btn2" 32android:text="描边按钮" 33android:textColor="#ff9900" 34android:textSize="20sp" /> 35< Button 36android:id="@+id/btn_4" 37android:layout_width="357dp" 38android:layout_height="wrap_content" 39android:layout_below="@+id/btn_3" 40android:layout_marginTop="10dp" 41android:background="@drawable/bg_btn3" 42android:text="按压效果" 43android:textColor="#ffffff" 44android:textSize="20sp" /> 45 46 < /RelativeLayout>

通过如下方式添加drawable文件(复制粘贴普通xml文件由于路径不同会导致引用出现问题):
安卓开发(UI组件-Button)

文章图片

bg_btn1.xml(圆角按钮)
< ?xml version="1.0" encoding="utf-8"?> < shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> < solid android:color="#ff9900"/> < corners android:radius="50dp"/> < /shape>

bg_btn2.xml(描边按钮)
< ?xml version="1.0" encoding="utf-8"?> < shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> < stroke android:width="1dp" android:color="#ff9900"/> < corners android:radius="15dp"/> < /shape>

bg_btn3.xml(按压效果)
< ?xml version="1.0" encoding="utf-8"?> < selector xmlns:android="http://schemas.android.com/apk/res/android"> < item android:state_pressed="true"> < shape> < solid android:color="#DBA047"/> < corners android:radius="10dp"/> < /shape> < /item> < item android:state_pressed="false"> < shape> < solid android:color="#FF9900"/> < corners android:radius="10dp"/> < /shape> < /item> < /selector>

  2.3.2点击事件
在Layout文件的32行做如下改动,绑定showToast事件:
32android:text="描边按钮+点击1" 33android:onClick="showToast"

【安卓开发(UI组件-Button)】来到Activity文件为此事件进行详细描述:
public void showToast(View view){ Toast.makeText(this,"btn3",Toast.LENGTH_SHORT).show(); }

或者也可以使用第二种方法实现点击,修改Layout文件42行为:
42 android:text="按压效果+点击2"

因为此点击事件绑定了按钮4,btn4,来到Activity文件定义私有变量mBtn4,完善事件描述:
private Button mBtn4; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_button); mBtn4 = findViewById(R.id.btn_4); mBtn4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(ButtonActivity.this,"btn4",Toast.LENGTH_SHORT).show(); } }); }

 
 
最后效果:
安卓开发(UI组件-Button)

文章图片

 

    推荐阅读