本帖最后由 liu 于 2018-12-6 17:32 编辑
style的简单使用
Android新手开发之旅【目录】
写代码时经常会有一些控件的属性一样,如果都去一个一个写的话不仅浪费时间还增加了代码量,这时我们就可以用到style,把相同的属性提取出来进行引用
用法很简单,以TextView举个例子:
实现下面界面:
在不使用style.xml的情况下代码:
[XML] 纯文本查看 复制代码 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_marginTop="10dp"
android:text="开封"
android:textColor="@android:color/black"
android:textSize="18sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="郑州"
android:layout_marginLeft="15dp"
android:layout_marginTop="10dp"
android:textColor="@android:color/black"
android:textSize="18sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="北京"
android:layout_marginLeft="15dp"
android:layout_marginTop="10dp"
android:textColor="@android:color/black"
android:textSize="18sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="上海"
android:layout_marginLeft="15dp"
android:layout_marginTop="10dp"
android:textColor="@android:color/black"
android:textSize="18sp" />
</LinearLayout>
使用style.xml的情况下:
activity_main:
[XML] 纯文本查看 复制代码 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!-- style="@style/textview"中的textview就是styles.xml的所设置样式的名字 -->
<TextView
style="@style/textview"
android:text="开封" />
<TextView
style="@style/textview"
android:text="郑州" />
<TextView
style="@style/textview"
android:text="北京" />
<TextView
style="@style/textview"
android:text="上海" />
</LinearLayout>
res/styles.xml:
[XML] 纯文本查看 复制代码 <resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<!-- 设置textview的样式 -->
<style name="textview">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginLeft">15dp</item>
<item name="android:layout_marginTop">10dp</item>
<item name="android:textColor">@android:color/black</item>
<item name="android:textSize">18sp</item>
</style>
</resources>
对比一下会发现实现同一个界面在使用style的情况下少写了不少代码,既节省了我们的时间也减少了代码量,属性相同的控件越多效果越明显
|