android - 應該如何程式碼控制shape的描邊顏色啊?
習慣沉默
習慣沉默 2017-06-27 09:19:00
0
2
1023

1.這是個xml樣式檔:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <!-- 角度 -->
    <corners android:radius="2dp"/>
    <!-- 填充色 -->
    <solid  android:color="#ffffff"/>
    <!-- 描边 设置线宽及颜色 -->
    <stroke android:color="@color/colorAccent"
        android:width="1dp"/>
</shape>

2.在searchView使用該樣式


      <android.support.v7.widget.SearchView
            android:id="@+id/searchView_singer"
            android:layout_width="match_parent"
            android:layout_height="46dp"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="10dp"
            android:background="@drawable/searviewtest"
            />

3.需求呢,現在是這個描邊顏色需要在程式碼中控制,也就是動態的改變樣式顏色,
color.xml中沒有該顏色,也不是用主題來改變

4.求助…

習慣沉默
習慣沉默

全部回覆(2)
巴扎黑

透過 searchView.getBackground() 取得一個 GradientDrawable 物件(如果該 View 設定的是 Shape 背景的話)。

然後透過 drawable.setStroke(1, Color.RED) 動態設定描邊就可以了。第一個參數 1 代表是的寬度,第二個是顏色。

大家讲道理

雷雷

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板