​app直播原始碼,ButtonTextView的背景設定

zhibo系統開發發表於2022-01-04

app直播原始碼,ButtonTextView的背景設定

Button能對使用者的點選行為作出反應。
在xml檔案中放置一個button。

<Button
     android:id="@+id/btn"
     android:layout_height="wrap_content"
     android:layout_width="wrap_content"
     android:text="@string/self_destruct" />

要想監聽到 button 的點選事件,我們在 Activity 中進行設定。

public class MyActivity extends Activity {     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);
         setContentView(R.layout.content_layout_id);         final Button button = findViewById(R.id.button_id);
         button.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {                 // 這裡是按鈕點選事件,在主執行緒執行
             }
         });
     }
 }

上面我們用到了  View.OnClickListener。button 被點選後會執行  onClick方法。 系統會在App的主執行緒中執行  onClick方法。我們可以在這裡面更新UI。但不要做太耗時的操作。

我們注意到 OnClickListener 其實是 View 中的一個介面。setOnClickListener 也是View 的一個方法。 換句話說,就算我們這裡用的不是 button,也可以用這樣的方式來監聽點選事件。 即  View.setOnClickListener(View.OnClickListener())

以後會遇到TextView,ImageView監聽點選事件,或是整個Layout來監聽點選事件。 這裡使用的是監聽器模式。

實際上,Button繼承自TextView。

Button,TextView背景設定

如何給按鈕增加動感?

Button 有按下(pressed)和未按下之分,我們可給這 2 種狀態不同的背景顏色和文字顏色。本文要介紹的是  selector,即狀態列表。 和前面的 shape 類似,  selector也是一個xml檔案。

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="

設定Button背景

  • 準備shape檔案

先準備shape檔案。這裡準備3個shape。分別代表3個不同的狀態。

shape_btn_1_normal.xml

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="
    android:shape="rectangle">
    <solid android:color="#6CB3DD" />
    <corners android:radius="2dp" /></shape>

shape_btn_1_pressed.xml

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="
    android:shape="rectangle">
    <solid android:color="#1E6283" />
    <corners android:radius="4dp" /></shape>

shape_btn_disable.xml

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="
    android:shape="rectangle">
    <solid android:color="#6D6D6D" /></shape>
  • 新建selector檔案

新建drawable檔案  bg_1.xml

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android=">
    <item android:drawable="@drawable/shape_btn_disable" android:state_enabled="false" />
    <item android:drawable="@drawable/shape_btn_1_normal" android:state_enabled="true" android:state_pressed="false" />
    <item android:drawable="@drawable/shape_btn_1_pressed" android:state_enabled="true" android:state_pressed="true" /></selector>
  • 設定Button背景

在layout中設定背景。

<Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/bg_1"
        android:text="RFDev btn 1" />
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="12dp"
        android:background="@drawable/bg_1"
        android:enabled="false"
        android:text="RFDev btn 2" />

執行一下看看效果。按下按鈕和沒按下的時候,按鈕的背景顏色是不同的。

以上就是app直播原始碼,ButtonTextView的背景設定, 更多內容歡迎關注之後的文章

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2850550/,如需轉載,請註明出處,否則將追究法律責任。

相關文章