美文网首页
背景设置点击

背景设置点击

作者: Nj_第一批老去的90后 | 来源:发表于2017-04-07 00:19 被阅读17次

在Drawable文件夹下建立xml文件

  • 只有背景色和形状
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle">
    <corners android:bottomLeftRadius="6dp"
             android:bottomRightRadius="6dp"
             android:topLeftRadius="6dp"
             android:topRightRadius="6dp"/>
    <solid android:color="@color/roud_solid_white"/>
    <stroke android:width="1px" android:color="@color/roud_stroke_white"/>
</shape>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/outer_bg_border_ltrb" android:state_pressed="false"/>
    <item android:drawable="@drawable/outer_bg_border_ltrb_press" android:state_pressed="true"/>
</selector>

---------------------正常状态下(边框+主题背景)-------------------
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 边框颜色值 -->
    <item>
        <shape>
            <solid android:color="@color/black_d9" />
            <corners android:topLeftRadius="10dp"
                android:topRightRadius="10dp"
                android:bottomLeftRadius="10dp"
                android:bottomRightRadius="10dp"/>
        </shape>
    </item>
    <!-- 主体背景颜色值 -->
    <item android:top="1px" android:left="1px" android:right="1px" android:bottom="1px">
        <shape>
            <solid android:color="@color/white"/>
            <corners android:topLeftRadius="10dp"
                android:topRightRadius="10dp"
                android:bottomLeftRadius="10dp"
                android:bottomRightRadius="10dp"/>
        </shape>
    </item>
</layer-list>
---------------------点击状态下(边框+主题背景)-------------------
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 边框颜色值 -->
    <item>
        <shape>
            <solid android:color="@color/black_d9" />
            <corners android:topLeftRadius="10dp"
                android:topRightRadius="10dp"
                android:bottomLeftRadius="10dp"
                android:bottomRightRadius="10dp"/>
        </shape>
    </item>
    <!-- 主体背景颜色值 -->
    <item android:top="1px" android:left="1px" android:right="1px" android:bottom="1px">
        <shape>
            <solid android:color="@color/white_f2"/>
            <corners android:topLeftRadius="10dp"
                android:topRightRadius="10dp"
                android:bottomLeftRadius="10dp"
                android:bottomRightRadius="10dp"/>
        </shape>
    </item>
</layer-list>

第二种方式:只有颜色变化,在String.xml里写

--string.xml----
    <!-- 批量处理按钮 -->
    <drawable name="batch_process_normal">#228fea</drawable>
    <drawable name="batch_process_pressed">#1d79c4</drawable>

将点击和正常态设置在同一个文件(layer-list作为根节点)

对于layer-list标签,从这里也可以看出来:它的绘制是==逐层绘制==的,层与层之间是没有任何影响的,每一层可以单独设置selector标签来响应不同的用户操作状态。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape>
            <corners android:radius="25dp" />
            <solid android:color="#E4E4E4" />
        </shape>
    </item>
    <item
        android:bottom="1dp"
        android:left="1dp"
        android:right="1dp"
        android:top="1dp">
        <selector>
            <item android:state_pressed="true">
                <shape>
                    <corners android:radius="25dp" />
                    <solid android:color="#FFFF00" />
                </shape>
            </item>
            <item>
                <shape>
                    <corners android:radius="25dp" />
                    <solid android:color="#00ff00" />
                </shape>
            </item>
        </selector>
    </item>
</layer-list>

将selector作为根节点

<?xml version="1.0" encoding="utf-8"?>  
<selector xmlns:android="http://schemas.android.com/apk/res/android">  
    <item android:state_pressed="true">  
        <layer-list>  
            <item>  
                <shape>  
                    <corners android:radius="25dp"/>  
                    <solid android:color="#E4E4E4"/>  
                </shape>  
            </item>  
            <item android:left="2dp" android:top="2dp"  
                  android:bottom="2dp" android:right="2dp">  
                <shape>  
                    <corners android:radius="25dp"/>  
                    <solid android:color="#FFFF00"/>  
                </shape>  
            </item>  
        </layer-list>  
    </item>  
  
    <item>  
        <layer-list>  
            <item>  
                <shape>  
                    <corners android:radius="25dp"/>  
                    <solid android:color="#E4E4E4"/>  
                </shape>  
            </item>  
            <item android:left="2dp" android:top="2dp"  
                  android:bottom="2dp" android:right="2dp">  
                <shape>  
                    <corners android:radius="25dp"/>  
                    <solid android:color="#FFFFFF"/>  
                </shape>  
            </item>  
        </layer-list>  
    </item>  
  
</selector>  

相关文章

  • 背景设置点击

    在Drawable文件夹下建立xml文件 只有背景色和形状 第二种方式:只有颜色变化,在String.xml里写 ...

  • Swift学习笔记 -- UIButton

    UIButton初始化 设置背景色 状态设置 图片设置 字体设置 点击事件 点击方法实现

  • Android Studio 设置主题、字体

    设置黑色主题背景 点击设置按钮,弹出Settings框 点击Appearance 点击Theme,选择相应的主题 ...

  • Flutter 点击区域问题

    点击区域会出现不是自己设置的宽高区域 检查背景色是否设置,背景不设置默认是Widget自适应的点击区域

  • tableView常用技巧

    cell 点击背景颜色 设置 (UITableViewCell *)tableView:(UITableView ...

  • 项目使用控件背景点击修改颜色

    button设置 点击图片背景 按下聚焦时选择背景 按下选择时背景

  • UIButton

    一 设置选中状态的背景色 如果使用UIButton的setBackgroundColor:方法来设置背景,在点击该...

  • 锦囊17:潇洒的墨迹效果

    步骤: 1、插入图片,调整大小(按住Shift),裁掉多余部分 2、将图片设置为背景:剪切图片,点击右键—设置背景...

  • Unity2D找茬游戏

    设置背景back,通过使用 点击背景时实例化错误Spite,正确的地方用Button实现。

  • PPT

    将图片中的某一处颜色吸到PPT背景中。 点击插入 选择图片 选择桌面 挑选一张图片 点击插入 点击右键选择设置背景...

网友评论

      本文标题:背景设置点击

      本文链接:https://www.haomeiwen.com/subject/xwycattx.html