Android的LinearLayout中 selector背景颜色

把linearLayout 当成按钮使用,我想通过时间触发动态的改变  linear layout 的背景颜色,通过不同的颜色展示不同的状态, 我想通过selector来实现,但是完全没有效果

我看了下其他的解决方法,都说需要添加点击属性时间,但是我的代码已经添加了

我的 LinearLayout  包含了2个小的 LinearLayout  ,没个小LinearLayout  又包含了9个TextView,这18个TextVIew把我的布局填充满了.

我的想法是,每个TextVIew被点击的时候改变 LinearLayout  的背景颜色。

我把所有的Textview都添加了 点击事件,但是还是不起效果。

selector jbbtn.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_enabled="true" android:state_pressed="true"
         android:drawable="@drawable/jbbtn_pressed"/>
    <item android:state_enabled="true"
         android:drawable="@drawable/jbstyle_transparent"/>
    <item android:state_enabled="false" android:drawable="@drawable/jbbtn_disabled"/>
</selector>

My LinearLayout
<LinearLayout
    android:id="@+id/llCurrents"
    android:background="@drawable/jbbtn"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignTop="@+id/llTimer"
    android:layout_below="@id/btnMenu"
    android:layout_marginRight="3sp"
    android:clickable="true"
    android:focusable="true"
    android:orientation="horizontal"
    android:padding="3sp" >

    ~~~~~~

</LinearLayout>

处理方法

我也是用线性布局当做一个按钮,我没有绑定任何点击事件,它就能够工作,我为标准的按钮建立了一个样式,我只是不停的分配样式到按钮

把 linearlayout 当成一个 button:

<LinearLayout
    style="@style/btn_stand"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:onClick="onClickLLButton"
    android:orientation="vertical" >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Button Label" />

    <TextView
        android:id="@+id/tvLLButton"
        android:layout_height="0px"
        android:layout_weight="1"
        android:gravity="center"
        android:text="Button Info" />
</LinearLayout>
My style definition for the button:
<style name="btn_stand" parent="AppBaseTheme">
    <item name="android:background">@drawable/btn_stand_sel</item>
    <item name="android:textColor">@drawable/btn_stand_text_color</item>
    <item name="android:minHeight">48dp</item>
    <item name="android:paddingLeft">5dp</item>
    <item name="android:paddingRight">5dp</item>
</style>

我的@drawable/btn_stan_sel 文件:

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

    <!-- disabled state -->
    <item android:drawable="@drawable/btn_stand_disabled" android:state_enabled="false"/>

    <!-- enabled and pressed state -->
    <item android:drawable="@drawable/btn_stand_pressed" android:state_enabled="true" android:state_pressed="true"/>

    <!-- enabled and focused state -->
    <item android:drawable="@drawable/btn_stand_focused" android:state_enabled="true" android:state_focused="true"/>

    <!-- enabled state -->
    <item android:drawable="@drawable/btn_stand_enabled" android:state_enabled="true"/>

</selector>

我的绘制文件为重复的为每一个状态绘制不同的颜色

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

    <stroke
        android:width="1dp"
        android:color="@color/stroke" />

    <solid android:color="@color/blue" />

    <corners android:radius="6dp" />

</shape>

原文地址:http://www.itmmd.com/201411/186.html

该文章由 萌萌的IT人 整理发布,转载须标明出处。

时间: 2024-10-08 21:11:40

Android的LinearLayout中 selector背景颜色的相关文章

android:修改PagerTabStrip中的背景颜色,标题字体的样式、颜色和图标以及指示条的颜色

1.修改PagerTabStrip中的背景颜色 我们在布局中直接设置background属性即可: <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="fill_parent" android:layout_height="fill_parent" > <android.support.v4.view.PagerTabS

myeclipse解决JSP文件中script背景颜色的调整

1导入MyEclipse的主题后,打开jsp或者html文件,jsvascript部分就蒙受上了一层白色,弄不掉了.症状如下: 解决办法如下 myeclipse解决JSP文件中script背景颜色的调整,布布扣,bubuko.com

几何画板中更改背景颜色的方法有哪些

在使用几何画板的过程的,大家发现背景颜色默认为白色,但是有时为了让我们做的图形的效果更加美观或更方便对比,就需要更改背景颜色.但是一些用户对于这种操作还不是很了解,因此,我们特地制作了这篇相关教程,希望可以帮到大家.这就给大家分享一下几何画板中更改背景颜色的方法有哪些?  几何画板保存画板文件 在几何画板中更改背景颜色的步骤: 步骤一.点击编辑->参数选项,打开“参数选项对话框”.  几何画板参数选项 步骤二.点击颜色->背景颜色,选择合适的颜色.  几何画板颜色选择器 步骤三.选择颜色后,首

Android button, xml文件定义形状,代码中修改背景颜色

1. 首先在drawable文件夹定义一个shape.xml文件,内容如下: <?xml version="1.0" encoding="UTF-8"?><shape    xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="rectangle">    <solid android:color=

Android:res之selector背景选择器

selector根据不同的选定状态来定义不同的现实效果 常用属性: android:state_selected--------选中android:state_focused--------获得焦点android:state_pressed--------点击android:state_enabled--------设置是否响应事件 ============================ android:drawable 放一个drawable资源android:state_pressed 是

android 给LinearLayout中添加一定数量的控件,并让着一定数量的控件从右到左移动,每隔若干秒停顿一下,最后一个view链接第一个view,然后继续移动循环往复,形成一个死循环简单动画效果

主类:IndexAnimationLinearLayout.java package com.yw.sortlistview; import java.util.ArrayList; import java.util.List; import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Canvas; import android.os.Handler; impo

如何在线编辑修改PDF文件中的背景颜色

我们在网上下载一下文件的时候我们都需要使用一些工具去进行操作,就想我们使用的而一些PDF文件一样我,我们想要给PDF文件进行文件的编辑,但是我们不想下载软件该如何操作,小编教你们一个方法,可以使用在线编辑网站去进行操作,方法如下: 1.打开浏览器,搜索迅捷PDF在线转换器,找到对应网页,打开后可以看到菜单栏上有很多的操作选项. 2.进入网页之后,我们点击菜单栏上的"文档处理"选项,然后选择里面的"PDF背景颜色"功能,进行背景色修改. 3.接下来需要点击"

Android UI: LinearLayout中layout_weight 属性的使用规则

首先来查看android sdk文档,有这么一段话 LinearLayout also supports assigning a weight to individual children with the android:layout_weight attribute. This attribute assigns an "importance" value to a view in terms of how much space is should occupy on the sc

Android的LinearLayout中的权重android:layout_weight

当前EditText和Button部件只是适应了他们各自内容的大小,如下图所示: 这样设置对按钮来说很合适,但是对于文本框来说就不太好了,因为用户可能输入更长的文本内容.因此如果能够占满整个屏幕宽度会更好.LinearLayout使用权重属性来达到这个目的,你可以使用android:layout_weight属性来设置. 权重的值指的是每个部件所占剩余空间的大小,该值与同级部件所占空间大小有关.就类似于饮料的成分配方:“两份伏特加酒,一份咖啡利口酒”,即该酒中伏特加酒占三分之二.例如,我们设置一