layer-list的使用
阿新 • • 發佈:2018-12-09
Android中如果想要實現下面的效果就的用到這個
1.把兩個圖片拼到一起
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 第一層 --> <item> <shape> <solid android:color="#FFFFFF" /> <stroke android:width="1px" android:color="#ffdbdbdb" /> </shape> </item> <!-- 第二層 --> <item android:left="1px" android:bottom="1px" android:top="1px"> <shape> <solid android:color="#FFFFFF" /> </shape> </item> </layer-list>
2.帶陰影的效果
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 灰色陰影 --> <item android:left="2dp" android:top="4dp"> <shape> <solid android:color="@android:color/darker_gray" /> <corners android:radius="10dp" /> </shape> </item> <!-- 白色前景 --> <item android:bottom="4dp" android:right="2dp"> <shape> <solid android:color="#FFFFFF" /> <corners android:radius="10dp" /> </shape> </item> </layer-list>
3.自定義進度條 效果
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@android:id/background" android:drawable="@drawable/be_later_progress_shape"> </item> <item android:id="@android:id/secondaryProgress"> <clip> <nine-patch android:src="@drawable/be_later_progress_in" /> </clip> </item> <item android:id="@android:id/progress"> <clip> <nine-patch android:src="@drawable/be_later_progress_in" /> </clip> </item> </layer-list>
4.評價中的星星
關鍵在stytle中
<RatingBar
android:id="@+id/score1"
style="@style/rating_bar_style"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:gravity="center"
android:numStars="5"
android:rating="5.0" />
stytle
<style name="rating_bar_style" parent="@android:style/Widget.RatingBar">
<item name="android:progressDrawable">@drawable/rating_bar</item>
<item name="android:minHeight">20dip</item>
<item name="android:maxHeight">24dip</item>
</style>
drawable
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!--主背景-->
<item
android:id="@android:id/background"
android:drawable="@drawable/grey_start" />
<!--副進度條-->
<item
android:id="@android:id/secondaryProgress"
android:drawable="@drawable/grey_start" />
<!--主進度條-->
<item
android:id="@android:id/progress"
android:drawable="@drawable/cp_start" />
</layer-list>
5.進度條
<ProgressBar
android:id="@+id/pb"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:progressDrawable="@drawable/progress_horizontal" />
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@android:id/background"
android:drawable="@drawable/security_progress_bg">
</item>
<item
android:id="@android:id/secondaryProgress"
android:drawable="@drawable/security_progress">
</item>
<item
android:id="@android:id/progress"
android:drawable="@drawable/security_progress">
</item>
</layer-list>
上面的效果總之都是要達到疊加的效果都要用到 layer_list