ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

带有九个补丁项目背景问题的ListView

2019-10-11 10:25:17  阅读:253  来源: 互联网

标签:nine-patch android-selector android android-listview


警告:此问题中的XML是错误的,请在混淆之前阅读答案!

我已经在墙上撞了一段时间.以下帖子阐明了该主题,但未能解决我的问题:Android ListView State List not showing default item backgroundListView item background via custom selector

当我选择列表项时,正确的九个补丁背景可以完美显示,但是我无法获得默认的九个补丁背景来初始显示.在我看来,我需要以某种方式设置默认项目背景,但是我不知道该如何设置.

列表显示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="vertical">
  <TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/shopListHeader"
    />
  <ListView
    android:id="@+id/shopList"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:dividerHeight="0px"
    android:divider="#FFFFFFFF"
    android:listSelector="@drawable/shop_list_selector"
    />
</LinearLayout>

选择:

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

    <!-- the list items are enabled and being pressed -->
    <item
        android:state_pressed="true"
        android:drawable="@drawable/shop_list_item_pressed" />

    <item
        android:state_selected="true"
        android:textColor="#FFFFFFFF" />
</selector>

背景:

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

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

    <item
        android:drawable="@drawable/shop_list_item" />
</selector>

如您所见,我已经从参考文献中精简了示例.

您可能还会注意到,没有在任何地方引用Background选择器.我开始在随机的地方扔它(如果应用程序编译了添加内容,则没有效果或导致强制关闭)

我还尝试过在选择但未按下某个项目时阻止文本的颜色变为黑色和灰色(可以通过滚动列表来完成).由于我的背景在中间为黑色,因此选中该文本后,该文本将变得部分不可见.据我所知,该加法(选择器中的最后一个项目节点)没有任何作用.

有没有人想让这种耗时的功能正常工作?

解决方法:

我打算删除该线程,但是我不能,所以我来看看是否不能将其用作不执行操作的示例:)

首先,在ListView XML中:android:listSelector =“ @ drawable / shop_list_selector”
不要那样做!

我在这里试图做的是设置列表项的背景,而android:background属性不起作用.您可能已经注意到XML项丢失了,这是因为我脑海中没有XML了! (在我为解决这个“问题”而付出的无数小时中,我从未碰过它.)因此,行android:background =“ @ drawable / shop_list_selector”出现在该项目的属性中,并且所有内容都是古怪的. (请记住上面的XML是非常错误的,所以不要使用它!)

…嗯,除了它在现实生活中看起来不如我脑子里的好:(
回到绘图板!!!

标签:nine-patch,android-selector,android,android-listview
来源: https://codeday.me/bug/20191011/1892164.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有