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

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android動態生成按鈕樣式

發布時間:2020-08-05 18:34:36 來源:網絡 閱讀:829 作者:180天 欄目:移動開發

動態生成按鈕樣式

使用:

    int borderColor = Color.parseColor("#2E3135");
    int bgColor = Color.parseColor("#00FF00");

    // 設置View背景樣式,有邊框寬度、邊框顏色、圓角度數、背景顏色。
    GradientDrawable shape = DrawableUtils.createShape(1, 4, borderColor, bgColor);
    btn1.setBackground(shape);

    int textNormalColor = Color.parseColor("#2E3135");
    int textPressColor = Color.parseColor("#FF0000");
    int textFocusColor = Color.parseColor("#00FF00");
    int textEnableColor = Color.parseColor("#0000FF");

    // 設置文本點擊樣式切換
    ColorStateList colorStateList = DrawableUtils.createColorStateList(textNormalColor, textPressColor, textFocusColor, textEnableColor);
    btn2.setTextColor(colorStateList);
    /* android:focusableInTouchMode="true" 控件默認獲取焦點 */

    int color1 = Color.parseColor("#FF0000");
    int color2 = Color.parseColor("#00FF00");

    // 設置View點擊樣式切換
    GradientDrawable unSelected = DrawableUtils.createShape(1, 4, color1, color2);
    GradientDrawable selected = DrawableUtils.createShape(1, 4, color2, color1);
    StateListDrawable stateListDrawable = DrawableUtils.createStateListDrawable(unSelected, selected);
    btn3.setBackground(stateListDrawable);

工具類:

public class DrawableUtils {

    /**
     * 創建一個shape
     *
     * @param strokeWidth 邊框寬度(px)
     * @param roundRadius 圓角半徑(px)
     * @param strokeColor 邊框顏色
     * @param fillColor   內部填充顏色
     * @return GradientDrawable
     */
    public static GradientDrawable createShape(int strokeWidth, int roundRadius, int strokeColor, int fillColor) {
        GradientDrawable gd = new GradientDrawable();
        gd.setColor(fillColor);
        gd.setCornerRadius(roundRadius);
        gd.setStroke(strokeWidth, strokeColor);
        return gd;
    }

    /**
     * 創建按鈕文字點擊樣式
     *
     * @param normal  正常樣式
     * @param pressed 按下樣式
     * @param focused 焦點樣式
     * @param unable  不可用樣式
     * @return ColorStateList
     */
    public static ColorStateList createColorStateList(int normal, int pressed, int focused, int unable) {
        int[] colors = new int[]{pressed, focused, normal, focused, unable, normal};
        int[][] states = new int[6][];
        states[0] = new int[]{android.R.attr.state_pressed, android.R.attr.state_enabled};
        states[1] = new int[]{android.R.attr.state_enabled, android.R.attr.state_focused};
        states[2] = new int[]{android.R.attr.state_enabled};
        states[3] = new int[]{android.R.attr.state_focused};
        states[4] = new int[]{android.R.attr.state_window_focused};
        states[5] = new int[]{};
        return new ColorStateList(states, colors);
    }

    /**
     * 創建按鈕點擊樣式
     *
     * @param unSelected 未點擊樣式
     * @param selected 點擊樣式
     * @return StateListDrawable
     */
    public static StateListDrawable createStateListDrawable(GradientDrawable unSelected, GradientDrawable selected) {
        StateListDrawable drawable = new StateListDrawable();
        drawable.addState(new int[]{android.R.attr.state_pressed}, selected);
        drawable.addState(new int[]{-android.R.attr.state_pressed}, unSelected);
        return drawable;
    }

}
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

油尖旺区| 韶关市| 三都| 武汉市| 忻城县| 公安县| 安顺市| 巨鹿县| 阳高县| 静宁县| 渭源县| 长沙县| 广平县| 宜州市| 扎兰屯市| 德格县| 东港市| 桑植县| 军事| 东阳市| 苍溪县| 商都县| 长葛市| 梅州市| 丹凤县| 剑川县| 麟游县| 佛坪县| 武安市| 饶河县| 宁国市| 汪清县| 通州市| 忻州市| 宣化县| 鸡西市| 兴隆县| 新源县| 花垣县| 庄河市| 五家渠市|