“layer-list” 和 “include”的使用
16lz
2021-01-26
layer-list 看来是图层的累加 我是这么理解的,字面上是多个层,也就是呢你可以把多个leyaer放在一起然后一其显现出来 如qqw.xml
<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape> <solid android:color="#FF00ff00" /> <gradient android:useLevel="true" android:type="sweep" android:startColor="#ff000000" android:endColor="#ffff0000" /> </shape> </item> <item> <rotate android:pivotX="50%" android:pivotY="50%" android:fromDegrees="0" android:toDegrees="80" android:drawable="@drawable/icon" /> </item> </layer-list>
然后就可以在别处引用了
<ImageButton android:id="@+id/btnFindMe" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:background="@drawable/qqw"
例如在android:style/Widget.ProgressBar.Large 或者其他的progressbar风格
<style name="progressBarStyleSmall" parent="android:style/Widget.ProgressBar.Large"><item name="android:indeterminateDrawable">@drawable/progress</item></style>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- <item android:drawable="@android:drawable/progress_circular_background" />--> <!-- <item> <shape android:shape="ring" android:innerRadiusRatio="3.4" android:thicknessRatio="6.0"> <gradient android:useLevel="true" android:type="sweep" android:startColor="#ff000000" android:endColor="#ffffffff" /> </shape> </item> --> <item> <rotate android:pivotX="50%" android:pivotY="50%" android:fromDegrees="0" android:toDegrees="370" android:drawable="@drawable/load2" /> </item></layer-list>
而include的使用就是为了降低 重复书写同一个布局而使用的引用,当然他还有另一优点就是和merge的混合使用 当你想添加一个布局而这个布局本身已经有了一个layout你想直接在这个layout下添控件,而你另一个xml中必须有一个layout ,如果你直接引用include这个xml那么就会多了一个layout ,所以这时候你应该把控件填写在merge中,这样就可以直接加入到原来的layout中了。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="64dip" android:gravity="center_vertical" android:ignoreGravity="@+id/icon"> <include layout="@layout/track_list_item_common" />; </RelativeLayout>
track_list_item_common.xml
<merge xmlns:android="http://schemas.android.com/apk/res/android"> <ImageView android:id="@+id/icon" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:layout_marginLeft="4dip" android:layout_width="60px" android:layout_height="60px"/>...</merge>
从上面的代码可以看到 merge是不需要merge的
更多相关文章
- Android学习笔记12:框架布局管理器FrameLayout
- 自定义控件和试图(部分原生api)下拉菜单
- Material Design详解 主题布局
- Android中GridView实现长按多选功能
- java化改造--xml布局文件转成java——学习整理
- Android5.0 新特性学习总结
- Android(安卓)布局中位置和大小单位相关探索
- Android布局之RelativeLayout
- Android学习之RecyclerView学习(实现瀑布流式布局)