作者:乐乐 | 来源:互联网 | 2023-09-01 13:47
app\src\main\res\drawable\mybtn_selector.xml
例子:
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/heart" />
<item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/heart_sel" />
<item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/heart_sel" />
<item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/heart_sel" />
<item android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/heart_sel" />
<item android:state_pressed="true" android:drawable="@drawable/heart_sel" />
selector>
各属性说明
android:state_pressed 是否按下,如一个按钮触摸或者点击。
android:state_focused 是否取得焦点,比如用户选择了一个文本框。
android:state_hovered 光标是否悬停,通常与focused state相同,它是4.0的新特性
android:state_selected 被选中,它与focus state并不完全一样,如一个list view 被选中的时候,它里面的各个子组件可能通过方向键,被选中了。
android:state_checkable 组件是否能被check。如:RadioButton是可以被check的。
android:state_checked 被checked了,如:一个RadioButton可以被check了。
android:state_enabled 能够接受触摸或者点击事件
android:state_activated 被激活
android:state_window_focused 应用程序是否在前台,当有通知栏被拉下来或者一个对话框弹出的时候应用程序就不在前台了
app\src\main\res\drawable\myshape.xml
转载自:http://blog.csdn.net/harvic880925/article/details/41850723
例子:
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners
android:radius="9dp"
android:topLeftRadius="2dp"
android:topRightRadius="2dp"
android:bottomLeftRadius="2dp"
android:bottomRightRadius="2dp"/>
<gradient
android:startColor="@android:color/white"
android:centerColor="@android:color/black"
android:endColor="@android:color/black"
android:useLevel="false"
android:angle="45"
android:type="sweep"
android:centerX="0"
android:centerY="0"
android:gradientRadius="90"/>
<padding
android:left="2dp"
android:top="2dp"
android:right="2dp"
android:bottom="2dp"/>
<size
android:width="50dp"
android:height="50dp"/>
<solid
android:color="@android:color/white"/>
<stroke
android:width="2dp"
android:color="@android:color/black"
android:dashWidth="1dp"
android:dashGap="2dp"/>
shape>
app\src\main\res\values\styles
为一系列具有同一样式的View统一分配属性值
例子:
在布局中的使用
<LinearLayout
android:id="@+id/line1"
style="@style/MyLinearLayout"
>
<TextView
android:id="@+id/title1"
style="@style/MyTextViewStyle"
android:text="动态" />
<ImageView
android:id="@+id/image1"
style="@style/MyImageViewStyle"/>
LinearLayout>