1. 程式人生 > >Android 動態修改自定義drawable圓角,修改邊線及填充色

Android 動態修改自定義drawable圓角,修改邊線及填充色

最近專案中遇到這樣一個要求,自定義的圓角按鈕,要根據後臺返回的顏色進行自定義顏色修改和邊框修改

這個是我自定xml定義的一個帶圓角邊框的背景

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/select_btn_color"></solid>
    <corners android:radius="@dimen/dp_6"></corners>

</shape>
現在後臺返回的顏色.需要程式碼中進行修改.
  GradientDrawable drawable = (GradientDrawable) txtConfirm.getBackground();
        drawable.setStroke(2, Color.parseColor(Constant.APP_THEME_COLOR));
        drawable.setColor(Color.parseColor(Constant.APP_THEME_COLOR));
上面是java程式碼.其中txtConfirm 就是一個textView.  這樣設定後,就可以動態改變這個按鈕的顏色了!