91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

android statelistdrawable在代碼中的動態設置

小樊
98
2024-08-27 19:31:16
欄目: 編程語言

在Android中,StateListDrawable 是一個用于根據狀態(如按下、選中等)動態改變圖像的 Drawable。要在代碼中動態設置 StateListDrawable,請遵循以下步驟:

  1. 創建一個 StateListDrawable 對象。
  2. 為不同的狀態添加相應的 Drawable。
  3. 將 StateListDrawable 設置為視圖的背景或圖像。

以下是一個簡單的示例,展示了如何在代碼中動態設置 StateListDrawable

import android.graphics.drawable.Drawable;
import android.graphics.drawable.GradientDrawable;
import android.graphics.drawable.StateListDrawable;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button button = findViewById(R.id.button);

        // 創建一個 StateListDrawable 對象
        StateListDrawable stateListDrawable = new StateListDrawable();

        // 創建一個 Drawable 對象,表示按下狀態的背景
        GradientDrawable pressedDrawable = new GradientDrawable();
        pressedDrawable.setColor(ContextCompat.getColor(this, R.color.pressed_color));

        // 創建一個 Drawable 對象,表示默認狀態的背景
        GradientDrawable defaultDrawable = new GradientDrawable();
        defaultDrawable.setColor(ContextCompat.getColor(this, R.color.default_color));

        // 為不同的狀態添加相應的 Drawable
        int[] pressedState = {android.R.attr.state_pressed};
        stateListDrawable.addState(pressedState, pressedDrawable);
        stateListDrawable.addState(new int[]{}, defaultDrawable);

        // 將 StateListDrawable 設置為按鈕的背景
        button.setBackground(stateListDrawable);
    }
}

在這個示例中,我們首先創建了一個 StateListDrawable 對象。然后,我們創建了兩個 GradientDrawable 對象,分別表示按下狀態和默認狀態的背景。接下來,我們使用 addState() 方法為不同的狀態添加相應的 Drawable。最后,我們將 StateListDrawable 設置為按鈕的背景。

注意:在實際項目中,你可能需要根據需求調整示例代碼。

0
呼玛县| 漳平市| 房山区| 安岳县| 许昌市| 宿松县| 石棉县| 黔西| 黄梅县| 越西县| 夏河县| 清水河县| 白沙| 孟津县| 白玉县| 同江市| 工布江达县| 吉隆县| 资讯| 嘉义市| 奈曼旗| 蓝山县| 凤台县| 临武县| 永城市| 慈溪市| 微博| 甘洛县| 鹰潭市| 呼伦贝尔市| 宣汉县| 德州市| 裕民县| 元阳县| 九台市| 龙里县| 罗甸县| 塘沽区| 腾冲县| 金堂县| 阳曲县|