合理利用style文件,使布局中的代码简洁

在我们搭建界面的时候,我们常常可以碰到一种情况,就是,这个界面,所有的布局差不多都一样类似于下面这种:

合理利用style文件,使布局中的代码简洁

这个界面,一看,基本上都是一样的格式,一张图片,文字,再加上一张图片,这个时候,很多新手同学可能就开始写了,一个imageView+textView+image,OK 完成,然后在复制粘贴,好,完成了这个界面的搭建,但是,这样一来,你的代码量增加了很多,这样写估计要写200多行代码吧,小杰这里教大家一个方法,来减少代码量,让代码更加简洁。

首先,我们来分析一下,每一个item都是图片+文字+图片的形式,还记得上一篇小杰提到过的textview的属性吗?有一个drawableLeft,drawableRight,正好可以在文字的左右两边添加图片,这就好了,正好一个控件就可以实现,是不是简洁了许多?

好这个时候我们在分析,每一个item所写的代码其实都是一样的,顶多就是左边的图片不一样,那我们是不是可以吧相同的代码拿出来大家一起用呢?答案是当然可以,在我们AndroidStudio中,values文件下有一个Style.Xml文件,我们可以把相同的代码放在style中,然后引用,这样代码就会更加简洁,而且修改起来方便,不需要挨个去修改,统一修改一次就OK啦,给大家举个例子,就以这个布局为例,以下是我的style文件的代码:

<style name="linearLayout_text">
        <item name="android:drawablePadding">16dp</item>
        <item name="android:padding">12dp</item>
        <item name="android:gravity">center_vertical</item>
        <item name="android:textSize">16dp</item>
        <item name="android:textColor">@color/c_33</item>
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:background">@drawable/base_linear_text_selector</item>
        <item name="android:drawableRight">@drawable/icon_to_next</item>
    </style>

好,有了这个style之后,我们就可以用到布局文件中进行引用了:

 <TextView
        android:id="@+id/tv_web_cash_order"
        style="@style/linearLayout_text"
        android:drawableLeft="@drawable/icon_my_order"
        android:text="@string/cash_order" />

你看,这样下来我们的代码量减少了很多,变得很简洁而且灵活。大家是不是学到了呢?谢谢大家!