android shape和selector共用按钮样式

项目中要使按钮点击和默认有不同效果,又要使listview的按钮有圆角效果,需要同时在drawable文件夹里面使用shape和selector属性,样式如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@color/menu_background" android:state_focused="true"><shape android:shape="rectangle">

            <!-- 填充的颜色 -->
            <solid android:color="#000000" />

            <gradient android:angle="270" android:centerColor="#000000" android:endColor="#000000" android:startColor="#000000" />
        </shape></item>
    <item android:drawable="@color/menu_background" android:state_pressed="true"><shape android:shape="rectangle">

            <!-- 填充的颜色 -->
            <solid android:color="#000000" />

            <gradient android:angle="270" android:centerColor="#000000" android:endColor="#000000" android:startColor="#000000" />
        </shape></item>
    <item android:drawable="@color/white" android:state_selected="true"><shape android:shape="rectangle">

            <!-- 填充的颜色 -->
            <solid android:color="#000000" />

            <gradient android:angle="270" android:centerColor="#000000" android:endColor="#000000" android:startColor="#000000" />
        </shape></item>
    <item android:drawable="@color/white">
        <shape android:shape="rectangle">

            <!-- 填充的颜色 -->
            <solid android:color="#000000" />

            <gradient android:angle="270" android:centerColor="#000000" android:endColor="#000000" android:startColor="#000000" />
        </shape></item>

</selector>

shape应该放在item里面。我们要实现每个listview都能点击的时候更换背景颜色,解决的办法是:

为了使软件在不同安卓平台上运行时尽量保持统一的风格,我试图修改颜色,网络上有人说使用android:listSelector这个属性,可是如果单单使用这个属性去修改的话ListView会有一种被选中的效果,体验不是很好,于是我舍近求远,折腾出了以下这种比较**的做法

首先在Listview的布局中添加以下属性

?


1

 <ListView

android:id="@+id/listmessage"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:listSelector="@drawable/messagebtnselector"

>

<!-- android:listSelector="@android:color/transparent" -->

</ListView>

android 使用selector 在 button上无效的问题(汇总)

分类: android学习2014-01-27
20:28 2709人阅读 评论(0) 收藏 举报

问题有三个:

1.图片或者按钮的XML文件,应该写在drawable-h的文件夹下面,不能写在drawable里面

2.selector这个文件,默认的ITEM加载项,必须写在最后:

EG:

<?xml
version="1.0" encoding="UTF-8"?>

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

<item android:drawable="@drawable/loginactivity_regist_login_press" android:state_focused="true"/>

<item android:drawable="@drawable/loginactivity_regist_login_press" android:state_selected="true"/>

<item android:drawable="@drawable/loginactivity_regist_login_press" android:state_pressed="true"/>

<item android:drawable="@drawable/loginactivity_regist_login_press" android:state_enabled="false"/>

<item android:drawable="@drawable/loginactivity_regist_login_normal"/> 
 <!-- 这行,放在最后面就成功了>

</selector>

3.不能使用重复名字的文件,及时SELCTOR的文件名名称补能和DRAWABLE的名称一致。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-10 06:20:21

android shape和selector共用按钮样式的相关文章

android shape总结 和控件样式定制

1:shape总结 1):shape文件是放置在drawable文件下的.res/drawable/filename.xml. 2):shape类型:android:shape.一共有四种:rectangle,oval,line,ring. 3):corners标签:定义圆角.当且仅当控件类型位rectangle时才有作用.android:radiuse位圆角的半径.当然也可以单独为每个圆角进行设置. 4):gradient标签:颜色渐变. android:angle:颜色渐变的方向.0是从左到

Android shape和selector完全总结

shape和selector嵌套版 <?xml version="1.0" encoding="utf-8"?><selectorxmlns:android="http://schemas.android.com/apk/res/android"> <!-- 非触摸模式下获得焦点并单击时的背景图片 --><item android:state_focused="true" androi

selector基础——按钮样式

1. <?xml version="1.0" encoding="utf-8" ?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 触摸时并且当前窗口处于交互状态 --> <item android:state_pressed="true" android:state_window_

Android Shape自定义纯色圆角按钮

版权声明:分享技术,传播快乐.如果本博客对你有帮助,请在我的博客首页为我打赏吧! 在Android开发中,为响应美化应用中控件的效果,使用Shape定义图形效果,可以解决图片过多的问题. 首先看一下效果图: 整个页面布局为: 1 <?xml version="1.0" encoding="utf-8"?> 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res

android shape和selector

1.shape 用法示例: <shape> <!-- 实心 --> <solid android:color="#ff9d77"/> <!-- 渐变 --> <gradient android:startColor="#ff8c00" android:endColor="#FFFFFF" android:angle="270" /> <!-- 描边 -->

android使用shape做selector按钮按下和弹起的动画

平时效果: 按下效果: selector代码: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"><shape> <solid andro

【转】Android开发:shape和selector和layer-list的(详细说明)

<shape>和<selector>在Android UI设计中经常用到.比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到<shape>和<selector>.可以这样说,<shape>和<selector>在美化控件中的作用是至关重要. 在看这篇文章之前,可以看下这个小例子:镂空按钮的实现 1.Shape 简介 作用:XML中定义的几何形状 位置:res/drawable/文件的名称.xml 使用的方法

android 开发:shape和selector和layer-list的(详细说明)

目录(?)[+] Shape 简介 使用的方法 属性 Selector 简介 使用的方法 layer-list 简介 例子 最后 <shape>和<selector>在Android UI设计中经常用到.比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到<shape>和<selector>. 可以这样说,<shape>和<selector>在美化控件中的作用是至关重要. 在看这篇文章之前,可以看下这个小例子

Android UI设计系统-android selector 开始自定义样式

Selector的结构描述: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:color="hex_color" android:state_pressed="true/false"