zoukankan      html  css  js  c++  java
  • android使用shape来绘制控件

    在android中常使用shape来作为控件的背景,来实现对控件形状的设计

    shape的文件 位于 drawable文件中  在drawable目录下 添加 任意文件名的xml文件(myshape.xml)

    <shape xmlns:android="http://schemas.android.com/apk/res/android" >

    </shape>

    一 绘制圆角(corners标签)

     一般文本框 可以绘制为带边框的圆角边框 默认的EditText没提供这样的演示 

    <!--

                radius 设置4个角的半径 
                                  其他 4个属性 分别可以单独设置4个角的半径
                 solid 填充颜色 
        -->
        <corners
             android:radius="20dp" />
        <solid android:color="@android:color/holo_orange_light"/>

    在 布局文件 EditText 设置背景色为当前的myshape

     <EditText
            android:id="@+id/editText1"
            android:layout_width="fill_parent"
            android:layout_height="35dp"
            android:background="@drawable/myshap"
            android:hint="请输入密码" >
            <requestFocus />
        </EditText>

    效果为:

        

    二 修改边框的样式 

    默认EditText为 下边框 有条线 样式如下:

      

    如果需要替换该蓝色的线 可以通过shape绘制一条直线 替换它

    myshape.xml文件如下:

    <shape xmlns:android="http://schemas.android.com/apk/res/android" >

        <!--

          solid 填充颜色为#97ec97

          size  设置宽度为1000dp 足够大  高度为 1dp的线

       -->

       <solid android:color="#97ec97"/>     
        <size  android:height="1dp"  android:width="1000dp" />

    </shape>

    在 布局文件 EditText 设置背景色为空(不要背景) 因为要画的是下边框  设置android:drawableBottom 为myshape

     <EditText
            android:id="@+id/editText1"
            android:layout_width="fill_parent"
            android:layout_height="35dp"
            android:background="@null"
            android:drawableLeft="@drawable/lock"
            android:drawableBottom="@drawable/myshap"   
            android:hint="请输入密码" >
            <requestFocus />
        </EditText>

    效果如下:

      


    三 全部标签的解释

    1 内边距的举例

    <padding android:left="50dp" android:top="50dp"
            android:right="10dp" android:bottom="30dp"/>

    2 填充颜色
        <solid android:color="@android:color/holo_orange_light"/>



     3  如下表示 添加圆角 android:radius 为四个边的半径
        <corners android:radius="20dp"/>

     4  如下表示被绘制的图形的宽度和高度  如果绘制的是 文本框的背景 相当于是绘制的文本框的宽度和高度

      如果是绘制的某个边框  就相当于边框的宽度和长度
        <size android:width="1000dp" android:height="200dp"/>

     5  如下表示 描边  边框的颜色和边框的粗细
        <stroke  android:color="@android:color/holo_green_dark" android:width="10dp"/>



     如下表示渐变 android:startColor渐变的开始颜色   android:endColor渐变的结束颜色  android:angle表示渐变的角度

    android:angle=0 表示从左往右渐变  逆时针算角度  比如 90度 就是 下往上渐变  180度就是从右往左渐变

        <gradient android:startColor="@android:color/holo_blue_bright" android:endColor="@android:color/holo_red_light"
             android:angle="90"
            />




  • 相关阅读:
    Servlet的生命周期及工作原理
    抓包---firebug
    firebug抓包
    token认证来龙去脉
    性能测试报告注意事项
    性能测试报告
    Error -26601解决办法
    lr新手误区
    css定位
    xpath定位
  • 原文地址:https://www.cnblogs.com/liaomin416100569/p/9331235.html
Copyright © 2011-2022 走看看