gpt4 book ai didi

android - 将 selectableItemBackground 与 ConstraintLayout 结合使用

转载 作者:行者123 更新时间:2023-11-30 00:32:04 26 4
gpt4 key购买 nike

我正在尝试使用 android:background="?android:attr/selectableItemBackground",但我不确定如何将它添加到我所在的 ConstraintLayout 中已经将背景颜色应用于 TextView。这是我的:

<?xml version="1.0" encoding="utf-8"?>
<!-- Layout for app main screen -->
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@color/tan_background"
tools:context="com.example.android.miwok.MainActivity">

<TextView
android:id="@+id/numbers"
style="@style/CategoryStyle"
android:background="@color/category_numbers"
android:text="@string/category_numbers"
app:layout_constraintTop_toTopOf="parent"/>

<TextView
android:id="@+id/family"
style="@style/CategoryStyle"
android:background="@color/category_family"
android:text="@string/category_family"
app:layout_constraintTop_toBottomOf="@+id/numbers" />

</android.support.constraint.ConstraintLayout>

有了 LinearLayout,我知道我可以使用 FrameLayout 并将 TextView 嵌套在我可以应用 android:background= 的地方"?android:attr/selectableItemBackground"android:background="@color/category_numbers"FrameLayout。然后可以对布局中的每个 TextView 重复此操作。但是,当我为 ConstraintLayout 尝试此操作时,它无法呈现。

有什么想法吗?

最佳答案

好的,所以我想出了问题。在 LinearLayout 下,当在 LinearLayout 开口中使用 android:orientation="vertical" 时,所有 FrameLayout 都会堆叠标签。使用 ConstraintLayout 时,我需要为每个 FrameLayout 添加左侧、右侧和顶部的约束,以便它们与 LinearLayout 堆叠相同>.

如果有人对此感兴趣,请查看 LinearLayout 的 XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/tan_background"
android:orientation="vertical"
tools:context="com.example.android.miwok.MainActivity">

<!-- Numbers category -->
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/category_numbers">
<TextView
android:id="@+id/numbers"
style="@style/CategoryStyle"
android:background="?android:attr/selectableItemBackground"
android:text="@string/category_numbers" />
</FrameLayout>

<!-- Family category -->
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/category_family">
<TextView
android:id="@+id/family"
style="@style/CategoryStyle"
android:background="?android:attr/selectableItemBackground"
android:text="@string/category_family" />
</FrameLayout>
</LinearLayout>

这是 ConstraintLayout 的 XML:

<?xml version="1.0" encoding="utf-8"?>
<!-- Layout for app main screen -->
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@color/tan_background"
tools:context="com.example.android.miwok.MainActivity">

<FrameLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@color/category_numbers"
android:id="@+id/frameNumbers"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent">
<TextView
android:id="@+id/numbers"
style="@style/CategoryStyle"
android:text="@string/category_numbers" />
</FrameLayout>

<!-- Family category -->
<FrameLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/frameFamily"
android:background="@color/category_family"
app:layout_constraintTop_toBottomOf="@+id/frameNumbers"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent">
<TextView
android:id="@+id/family"
style="@style/CategoryStyle"
android:text="@string/category_family" />
</FrameLayout>

</android.support.constraint.ConstraintLayout>

出于某种原因,一旦我使用 FrameLayout,圆形约束 handle 就会消失。

关于android - 将 selectableItemBackground 与 ConstraintLayout 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44137179/

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