gpt4 book ai didi

Android 5.0 (Lollipop) CheckedTextView 按下高亮问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:43:44 26 4
gpt4 key购买 nike

我遇到了一个令人沮丧的问题 RecyclerView充满了CheckedTextViews在 Android 5.0 Lollipop 上运行时。 Lollipop 之前的所有版本都很好,不会出现此问题。查看下面的图片以便更好地理解:

Lollipop 前

pre-lollipop screenshot

Lollipop

lollipop screenshot

看看 Lollipop 如何只在 CheckedTextView 的复选框部分的顶部绘制选择突出显示? Pre-Lollipop 没有这个问题/错误,并在整个 View 宽度上绘制选择突出显示(这是我想要的行为)。

这是我绘制到列表中的 CheckedTextView:

<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:background="?attr/selectableItemBackground"
android:checkMark="@drawable/checkbox"
android:id="@+id/model_checkable_name"
android:layout_height="48dp"
android:layout_width="match_parent" />

有什么想法吗?我尝试了一些不同的解决方案,例如 android:focusable="false"android:duplicateParentState="true"android:duplicateParentState= “假”...

谢谢大家!

最佳答案

您可以像在 Google IO 应用程序中一样使用 CheckBoxPreference 来解决这个问题,顺便说一下,我想知道 CheckedTextView 中是否存在 Lollipop 问题。

我尝试使用 backgroundselectablebordeless,但它也不起作用。

你解决了吗还是一个已知的错误?

编辑:

您可以在 checkedtextview 上使用 framelayout,并使用带有 framelayout 的 onClickListener 来设置已选中和未选中的 checktextview。将 framelayout 和 checkedtextview 放在一个相对布局中:

          <RelativeLayout
android:layout_width="match_parent"
android:layout_height="56dp"
android:layout_marginEnd="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginStart="8dp">

<FrameLayout
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_alignParentBottom="true"
android:layout_marginTop="8dp"
android:background="@color/md_divider" />

<android.support.v7.widget.SwitchCompat
android:id="@+id/switchWidget"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:padding="16dp"
android:text="Switch Widget Title"
android:textAppearance="@style/TextAppearance.AppCompat.Inverse"
android:textColor="@color/md_text"
android:textSize="16sp" />

<FrameLayout
android:id="@+id/frameLayoutSwitch"
android:clickable="true"
android:background="?attr/selectableItemBackground"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>

关于Android 5.0 (Lollipop) CheckedTextView 按下高亮问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27519138/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com