android中xml文件小知识

1、自定义xml背景

android开发中对于界面UI有定制化需求,为了界面美观,有时会需要我们自定义布局背景。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="3dp"/><!--圆角-->
    <solid android:color="@color/bg_gray_parent"/><!--背景色-->
</shape>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <!--颜色渐变-->
    <gradient
        android:centerColor="#fb7695"
        android:endColor="#fb648f"
        android:startColor="#f9959d" />
    <!--圆角-->
    <corners
        android:topLeftRadius="5dp"
        android:topRightRadius="5dp" />
</shape>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <!--中间的实体颜色-->
    <solid android:color="@android:color/transparent" />
    <!--圆角-->
    <corners android:radius="4dp" />
    <!--边的宽度和颜色-->
    <stroke
        android:width="1dp"
        android:color="@android:color/white" />
</shape>

下面用实例给大家看一下xml文件的用法:
这里的表格背景是自定义的shape,下面分别看一下三个shape的代码。
在这里插入图片描述
这个表格背景xml图分为三部分,上中下:

shape_top_corner_no_bottom_line.xml文件:顶部带圆角 白色背景 灰色边框 无下边框 长方体

<?xml version="1.0" encoding="UTF-8"?>  
<!-- 顶部带圆角 白色背景 灰色边框 无下边框 长方体 -->  
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">  
    <item>  
        <shape>  
            <solid android:color="#FFFFFF" />  
            <corners android:topLeftRadius="10dp" android:topRightRadius="10dp"  
                android:bottomRightRadius="0.1dp" android:bottomLeftRadius="0.1dp" />  
            <stroke android:width="1dp" android:color="#ffa8abad" />  
        </shape>  
    </item>  
    <item android:top="1dp" android:left="1dp" android:right="1dp">  
        <shape>  
            <solid android:color="#FFFFFF" />  
            <corners android:topLeftRadius="10dp" android:topRightRadius="10dp"  
                android:bottomRightRadius="0.1dp" android:bottomLeftRadius="0.1dp" />  
            <stroke android:width="1dp" android:color="#ffffffff" />  
        </shape>  
    </item>  
</layer-list>  

shape_no_corner_without_bottom.xml文件:不带圆角 白色背景 灰色边框 无下边框 长方体

<?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="1dp"  
                android:color="#ffa8abad" />  
        </shape>  
    </item>  
    <item  
        android:left="1dp"  
        android:right="1dp"  
        android:top="1dp">  
        <shape>  
            <solid android:color="#FFFFFF" />  
            <stroke  
                android:width="1dp"  
                android:color="#ffffffff" />  
        </shape>  
    </item>  
</layer-list>  

shape_bottom_corner_no_top_line.xml文件:底部圆角 白色背景 灰色边框 长方体

<?xml version="1.0" encoding="UTF-8"?>  
<!-- 底部圆角 白色背景 灰色边框 长方体 -->  
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">  
    <item>  
        <shape>  
            <solid android:color="#FFFFFF" />  
            <corners android:topLeftRadius="0.1dp" android:topRightRadius="0.1dp"  
                android:bottomRightRadius="10dp" android:bottomLeftRadius="10dp" />  
            <stroke android:width="1dp" android:color="#ffa8abad" />  
        </shape>  
    </item>  
    <item android:top="1dp" android:bottom="1dp" android:left="1dp" android:right="1dp">  
        <shape>  
            <solid android:color="#FFFFFF" />  
            <corners android:topLeftRadius="0.1dp" android:topRightRadius="0.1dp"  
                android:bottomRightRadius="10dp" android:bottomLeftRadius="10dp" />  
            <stroke android:width="1dp" android:color="#ffffffff" />  
        </shape>  
    </item>  
</layer-list>

2、画虚线

android:layerType="software" 加这一句是因为4.0以上的不加不画虚线,画实线

在android的布局文件中,如下方使用,添加一条虚线

<View android:layout_width="match_parent"
      android:layout_height="2dp"
      android:layerType="software"  
      android:background="@drawable/line_dashed" />

其中line_dashed如下

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line" >
    <stroke
        android:dashGap="3dp"
        android:dashWidth="6dp"
        android:width="1dp"
        android:color="@color/gray_line" />
    <!-- 虚线的高度 -->
    <size android:height="1px" />
</shape>

3、style样式

在布局控件中可以使用样式,对于经常使用的样式,我们可以自定义方便使用,方便统一修改和减少代码工作量。
使用方法如下:

<TextView
	android:id="@+id/text"
	style="@style/style1"
	android:layout_width="wrap_content"
	android:text="hello" />

自定义样式在values下的styles.xml文件中。

<?xml version="1.0" encoding="utf-8"?>  
<resources>  
    <!-- 定义一个样式,指定字体大小,字体颜色 -->  
    <style name="style1">  
        <item name="android:textSize">20sp</item>  
        <item name="android:textColor">#00d</item>  
    </style>  
    <!-- 定义一个样式,继承前一个颜色 -->  
    <style name="style2" parent="@style/style1">  
        <item name="android:background">#ee6</item>  
        <item name="android:padding">8dp</item>  
        <!-- 覆盖父样式中指定的属性 -->  
        <item name="android:textColor">#000</item>  
    </style>  
</resources>  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值