Android UI設計——Button控制元件
阿新 • • 發佈:2019-02-19
這個是大家在熟悉不過的了,初學者在學習的時候都是最先使用Button進行練習。
他控制元件的顯示設定也很簡單,如TextView一樣包括:id,寬,高,名稱(也就是顯示的文字)等的設定。在此不再贅述。
點選事件
Button 最常見的一種使用就是使用監聽器,實現點選事件。首先在Activity的onCreate方法中新增如下程式碼:
方式一:通過匿名內部類的方法來實現監聽。
Button btnSecond = (Button) findViewById(R.id.btnSecond);
btnSecond.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intentSecond = new Intent(MainActivity.this,MainActivity.class);
startActivity(intentSecond);
}
});
方式二:通過實現介面的方法來實現監聽。
public class MainActivity extends BaseActivity implements View.OnClickListener {
private Button btnSecond;
@Override
protected void onCreate(Bundle savedInstanceState) {
Log.d("Activity", this.toString());
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnSecond = (Button) findViewById(R.id.btnSecond);
btnSecond.setOnClickListener(this );
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.btnSecond:
Intent intentSecond = new Intent(MainActivity.this,SecondActivity.class);
startActivity(intentSecond);
break;
default:
break;
}
}
}
按鈕背景設定
此處背景的設定是在AndroidStudio軟體中設定執行的,Ecplise中可能稍有不同。
在layout佈局檔案中新增程式碼:android:background=""
進行設定,屬性值可以是十六進位制的背景色,例如:“#ff00ff”;也可以是引用values中自己設定的color值,例如:”@color/red”;也可以是drawable中自己設定的xml檔案,例如:”@drawable/btn_background”。
前兩種主要用於設定純色的背景,但是這種設定並不人性化,因為我們都知道,通常一個按鈕當我們按下去的時候他的顏色會變深,以通知我們選中了按鈕。這是比較人性化的。但是純色的背景只有一個,我們按下的時候並不知道是否選中,因此我們需要設定兩種顏色來當做按鈕的背景。這種只能通過第三種方法來實現。
在drawable中新建一個xml檔案。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@mipmap/buttonpressed_pink" android:state_pressed="true"/>
<item android:drawable="@mipmap/button_pink"/>
</selector>
在layout的佈局檔案中設定按鈕的背景:
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button"
android:background="@drawable/btn_background"/>
結果如下: