Android——LinearLayout按下(state_pressed)或获取焦点时(state_focused)背景设置不同颜色或图片

在Android项目中有这样一个需求,画了几个LinearLayout布局做成ListView的样式,如下图所示:

当点击每个LinearLayout项时想改变其背景颜色,准备了如下背景图片XML文件:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/gray_background" android:state_pressed="true" />
    <item android:drawable="@color/white_background" />
</selector>

但是当我每次运行点击每一项LinearLayout时,其背景颜色毫无变化。

后来发现在每个LinearLayout项加入属性android:clickable="true"点击LinearLayout才会出现背景颜色的变化。

时间: 2024-08-04 14:52:25

Android——LinearLayout按下(state_pressed)或获取焦点时(state_focused)背景设置不同颜色或图片的相关文章

LinearLayout按下(pressed)或获取焦点(focused)时背景设置不同颜色或图片

1 <LinearLayout 2 xmlns:android="http://schemas.android.com/apk/res/android" 3 android:id="@+id/myview" 4 android:orientation="horizontal" 5 android:layout_width="fill_parent" 6 android:layout_height="wrap_c

Android 当系统存在多个Launcher时,如何设置开机自动进入默认的Launcher?

以设置Google Launcher2作为默认启动的Launcher为例, 其package name 为 com.android.launcher launcher activity name 为 com.android.launcher2.Launcher 1.请在PackageManagerService.java中的systemReady函数的最后中增加以下代码. if(isFirstBoot()) { //MTK ADD BEGIN String examplePackageName

Android 手机下输入框获取焦点时, 输入法挡住输入框的 bug

DOM的滚动 DOM规范中并没有规定各浏览器需要实现怎样的滚动页面区域,各浏览器实现了相应的方法,可以使用不同的方式控制页面区域的滚动.这些方法作为HTMLElement类型的扩展存在,所以它能在所有元素上使用. 1.scrollIntoView(alignWithTop)  滚动浏览器窗口或容器元素,以便在当前视窗的可见范围看见当前元素.如果alignWithTop为true,或者省略它,窗口会尽可能滚动到自身顶部与元素顶部平齐.-------目前各浏览器均支持 2.scrollIntoVie

android 开发edittext获取焦点时hint消失

默认情况时:设置了hint的话,需要输入的时候hint才会消失,但是现在是需要当edittext获取焦点时就让hint消失 代码如下: verifycode= (EditText)findViewById(R.id.verifycode); verifycode.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFoc

Android 打造可下拉的EditText--DropEditText

android的默认Spinner只能下拉选择内容,而不能选择,有时候我们想提供给用户更加人性化的UI,既可以通过下拉选择,也可以通过EditText输入,是要定义两个组件吗? 这样并不适合我们的设计要求. 那么, 我们就自己写一个这样的组件吧——DropEditText. 一.思路 1.DropEditText并不是一个Spinner,也不是一个EditText. 2.这里的解决方式是,组合以个EditText和一个ImageView,点击ImageView弹出一个PopupWindow达到下

Android UI- PullToRrefresh自定义下拉刷新动画

Android UI- PullToRrefresh自定义下拉刷新动画 如果觉得本文不错,麻烦投一票,2014年博客之星投票地址:http://vote.blog.csdn.net/blogstar2014/details?username=wwj_748#content 本篇博文要给大家分享的是如何使用修改开源项目PullToRrefresh下拉刷新的动画,来满足我们开发当中特定的需求,我们比较常见的一种下拉刷新样式可能是以下这种: 就是下拉列表的时候两个箭头上下翻转,更改日期文本和刷新状态,

Android中实现下拉刷新

需求:项目中的消息列表界面要求实现类似sina微博的下拉刷新: 思路:一般的消息列表为ListView类型,将list加载到adapter中,再将adapter加载到 ListView中,从而实现消息列表的展示.而下拉刷新要求给消息列表加一个头部,其中有图片(向上/向下箭头)和提示字样(下拉刷新/松开刷新),从 而我们需要做的事情:1.需要做一个head.xm来实现头部的样式定义:2.需要自定义一个继承了ListView的MsgListView,在该类中 将head加在MsgListView对象

Android之自定义控件-下拉刷新

实现效果: 图片素材:         --> 首先, 写先下拉刷新时的刷新布局 pull_to_refresh.xml: 1 <resources> 2 <string name="app_name">PullToRefreshTest</string> 3 <string name="pull_to_refresh">下拉可以刷新</string> 4 <string name="

android中自定义下拉框(转)

android自带的下拉框好用不?我觉得有时候好用,有时候难有,项目规定这样的效果,自带的控件实现不了,那么只有我们自己来老老实实滴写一个新的了,其实最基本的下拉框就像一些资料填写时,点击的时候出现在编辑框的下面,然后又很多选项的下拉框,可是我在网上找了一下,没有这种下拉框额,就自己写了一个,看效果图先: ,这个是资料填写的一部分界面,三个下拉框,选择故乡所在地: 点击之后弹出下拉框,选择下面的选项: 三个下拉框时关联的,第一个决定了第二数据内容,第二个决定了第三个数据内容,如果三个全部选好之后