在Android开发中可能会遇到很多页面都是差不多的的控件,属性很多都重复了,那么今天就来介绍下,怎样抽取公共属性,减少代码量
<style name="SettingItemStyle">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
</style>
在这里抽取了layout_width跟 Layout_height
<john.com.mobilesafe.view.SettingItemView
android:id="@+id/setting_update_item"
style="@style/SettingItemStyle" <!-- 注意这段代码 -->
android:layout_marginTop="10dp"
android:background="@drawable/setting_item_selector_top"
john:title="设置自动更新" />
<john.com.mobilesafe.view.SettingItemView
android:id="@+id/setting_interceptor_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/setting_item_selector_bottom"
john:title="设置骚扰拦截" />
在上面布局中使用了抽取的Style SettingItemStyle
还有一个需要注意的是,局部的属性优先级会大于定义在Style中的属性,例如如果在第一个SettingView中设置了android:layout_width=50dp,那么SettingView的宽度就是50dp,而不是填充父控件。
可以看到完全是一样的效果,小伙伴们快去试试把