Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Android - ExpandableListView更改子项目的背景

Android - ExpandableListView更改子项目的背景
EN

Stack Overflow用户
提问于 2009-12-14 21:39:18
回答 3查看 10.6K关注 0票数 4

我在我的应用程序中使用ExpandableListView,我从用户那里得到的一个抱怨是,当List项目被展开时,很难在视觉上区分子项目的结束位置和下一个组项目的开始位置。

因此,我想将子List项的背景更改为不同的阴影。

到目前为止,我所做的粗暴尝试都是基于直接更改子View项中元素的背景颜色和文本,但这会导致悬停和高亮显示的丢失。所以我的问题是,什么是实现上述目标的好策略?

我尝试了stylesselectors,但真正让我头疼的是,如果我改变了子项的背景,那么我就需要为焦点/启用等的所有组合添加selectors

有没有办法继承父style并仅为未聚焦的、已启用的子项设置background,并保留其他styles

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-12-15 19:02:48

井。以下是对我有效的方法:

  1. 在项目的res/drawable目录中创建list_background.xml
  2. 将子项的顶级布局的背景色设置为上面的可绘制内容。如果您在这一点上感到困惑-我指的是在ExpandableListAdapter#getChildView

中创建可展开列表的子视图时使用的xml布局文件

这是完整的可绘制文件

代码语言:javascript
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:state_enabled="true"
        android:drawable="@drawable/list_highlight_active" />
    <item android:state_enabled="true" android:state_selected="true" 
        android:state_window_focused="true"
    android:drawable="@drawable/list_highlight_inactive" />
    <item android:state_enabled="true" android:state_window_focused="true" 
        android:drawable="@color/item_body" />
    <item android:drawable="@color/item_body" />
</selector>

我必须将/android-sdk-windows-1.6_r1/platforms/android-1.5/data/res/drawable中的list_highlight_active.xmllist_highlight_inactive.xml复制到项目的可绘制目录中。@color/item_body只是一个灰色的阴影

票数 5
EN

Stack Overflow用户

发布于 2010-04-06 02:56:50

我刚刚发现了一种方法,可以“有点”地设置背景颜色,而不必跳过选择器的圈子。

正如您已经注意到的,将背景设置为纯色会清除选择器的高亮显示,因为新的背景颜色会使其变得模糊。Droidin有一个正常的解决方案:为你自己的背景选择器提供你想要的确切颜色。至少可以说,这是一种痛苦。

但是,如果你想要的只是稍微区分一下颜色,那么有一种更简单的方法: alpha混合。使用alpha值设置背景颜色。例如,将背景设置为"#BBFFFFFF“。前两个数字表示alpha级别。它会混合在一起,所以背景不会是纯白色的,选择的高光也不会是普通的亮橙色,但是孩子们会是不同的颜色,高亮仍然有效。双赢。

票数 0
EN

Stack Overflow用户

发布于 2014-03-13 12:52:23

我在寻找类似的解决方案。您可以尝试在适配器方法getChieldView上获取父视图。我认为这位家长是你所有孩子的家长观点。并将资源中的背景设置为此父对象。我是这样做的:

代码语言:javascript
运行
AI代码解释
复制
@Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild,  View convertView, ViewGroup parent) {
    if (convertView == null) {
        LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = inflater.inflate(R.layout.fa_report_sub_item, null);
        View parentGroup=(View) convertView.getParent();
        parentGroup.setBackgroundResource(R.drawable.fa_summ_report_main_item);
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1903683

复制
相关文章
android expandablelistview横向,expandableListView 总结[通俗易懂]
expandableListView groupIndicator 图片默认是在左边,而且比较难看,而我要的是实现groupIndicator 在右边自定义图片,
全栈程序员站长
2022/07/05
4740
android expandablelistview横向,expandableListView 总结[通俗易懂]
A022-列表容器之ExpandableListView
概述 本节课介绍Android中可实现二级可展开收缩列表的ExpandableListView容器,笔者感觉它非常难用并且难理解,很多时候我们可能需要对控件进行扩展和定制,然而它不太方便扩展,它使用难
巫山老妖
2018/07/20
9270
【Android从零单排系列二十一】《Android视图控件——ExpandableListView》
小伙伴们,在上文中我们介绍了Android视图组件ListView,本文我们继续盘点,介绍一下视图控件的ExpandableListView。
再见孙悟空_
2023/07/17
5440
ExpandableListView实例
demo中有三个group item和多个child item,group item包括一个指示器,一个标题和一个按钮。child item包括一个图片,一个标题和一个按钮。先来实现布局文件 1 activity_main.xml
全栈程序员站长
2022/09/07
1.4K0
Android之ExpandableListView下拉分组的实现
ExpandableListView是android中可以实现下拉list的一个控件,具体的实现方法如下: 首先:在layout的xml文件中定义一个ExpandableListView <LinearLayout android:id="@+id/linearLayout" android:layout_width="fill_parent" android:layout_height="fill_parent" androidrientation="vertical" > <
xiangzhihong
2018/01/26
7870
Android开发笔记(一百)折叠式列表
经常看朋友圈的动态,有的动态内容较多就只展示前面一段,如果用户想看完整的再点击展开,这样整个页面的动态列表比较均衡,不会出现个别动态占用大片屏幕的情况。同样,查看博客的文章列表也类似,只展示文章开头几行内容,有需要再点击加载全篇文章。 动态列表直接使用ListView,动态内容就得自己写个控件了,自定义控件的难点在于如何把握动态下拉和收起的动画。这里我们要先预习TextView的相关函数,下面是本文用到的方法说明: getHeight : 获取TextView的显示高度。 setHeight : 设置TextView的显示高度。 getLineHeight : 获取每行文本的高度。 getLineCount : 获取所有文本的行数。 如果一开始每条动态默认显示四行,那么默认显示高度是getLineHeight*4,使用setHeight方法即可设置动态的初始显示高度。点击展开动态全文时,就得显示所有行的文本,整个文本的高度是getLineHeight*getLineCount。现在有了每条动态的初始高度,以及动态全文的完整高度,再加个拉伸动画就差不多了。拉伸动画的主要工作是随着时间的推移,给TextView设置渐增或渐减的高度,这要重写Animation的applyTransformation方法。 下面是点击监听器的显示动画代码示例:
aqi00
2019/01/18
2.3K0
CSS样式更改篇——背景Background
上篇文章主要讲述了CSS的基础用法,讲述了如何定义头文件,导入CSS文件,id和class选择器,元素选择器,后代选择器,子元素选择器,兄弟选择器,伪类选择器等等,让大家对CSS选择器有个简单的认识和了解。这篇接上篇文章,继续讲解CSS的基础用法。
前端皮皮
2020/11/26
1.5K0
Android之微信朋友圈UI实现--ExpandableListView+GridView
这张图是不是很熟悉,没错这个就是朋友圈,里面有一个,里面的布局我都画出来了,我不知道微信具体怎么实现的,但是我们会用安卓原生的方法去实现这样的布局,并有实实在在的数据。
cMusketeer
2018/08/01
1.3K0
Android之微信朋友圈UI实现--ExpandableListView+GridView
干货,仿qq列表,手把手实现分类悬浮提示
新来的产品提了一个需求,让应用中的一个列表按照分类显示,并且能提示当前是在哪个分类,度娘了一番,参考了前辈们的博客,实现了如下图的效果: 效果图.gif 这种效果的实现这里是采用自定义Expandab
coderZhen
2018/06/28
7610
keil更改黑色背景颜色「建议收藏」
1、先将keil安装目录下UV4中global文件复制出来留作备用,然后用记事本打开安装目录下的global文件
全栈程序员站长
2022/09/10
7.7K0
keil更改黑色背景颜色「建议收藏」
更改TabLayout选中的背景色
项目中有这种需求,google了下发现了解决方案,摘录如下方便大家排查. 原文链接
夏洛克的猫
2018/10/18
3.8K0
更改TabLayout选中的背景色
android 伸缩控件ExpandableListView 展开失败的可能原因。
本文介绍了ExpandableListView在Android中的使用,以及遇到的问题和解决方案。作者通过实例详细讲解了ExpandableListView的使用方法和注意事项,对于ExpandableListView的使用具有一定的指导意义。
林冠宏-指尖下的幽灵
2018/01/03
9070
android 伸缩控件ExpandableListView  展开失败的可能原因。
ExpandableListView简单应用及listview模拟ExpandableListView
  首先我们还是来看一些案例,还是拿搜狐新闻客户端,因为我天天上下班没事爱看这个东东,上班又没时间看新闻,上下班路途之余浏览下新闻打发时间嘛. 看这个效果挺棒吧,其实实现起来也不难,我简单说明下.
xiangzhihong
2018/01/30
1.2K0
ExpandableListView简单应用及listview模拟ExpandableListView
★ Android ExpandableListView中子元素无法点击 解决方案!
这几天公司写个电商项目,写道购物车页面,发现ExpandableListView点击子类的方法无效!!
全栈程序员站长
2021/04/07
6730
ExpandableListView的使用
ExpandableListView组件是android中一个比较常用的组件,当点击一个父item的时候可以将它的子item显示出来,像手机QQ中的好友列表就是实现的类似效果。使用ExpandableListView组件的关键就是设置它的adapter,这个adapter必须继承BaseExpandbaleListAdapter类,所以实现运用ExpandableListView的核心就是学会继承这个BaseExpanableListAdapter类。
提莫队长
2019/03/01
1.4K0
ExpandableListView的使用
点击加载更多

相似问题

更改离子项目的背景-滑动

10

expandableListView android标题背景

11

android - HorizontalScrollView将列出ExpandableListView的子项

12

ExpandableListView子项宽度

14

单击更改离子项目的背景色

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文