1. Ceci est un fichier de style 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. Utilisez ce style dans 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. En ce qui concerne l'exigence, la couleur du trait doit maintenant être contrôlée dans le code, c'est-à-dire que la couleur du style peut être modifiée dynamiquement. La couleur n'existe pas dans
color.xml, et elle ne peut pas non plus être modifiée à l'aide d'un thème.
4.Demandez de l'aide...
Obtenez un objet GradientDrawable via
searchView.getBackground()
(si la vue est définie sur un arrière-plan de forme).Ensuite, définissez simplement le trait de manière dynamique via
drawable.setStroke(1, Color.RED)
. Le premier paramètre 1 représente la largeur, et le second est la couleur.