gpt4 book ai didi

android - 使背景继承自 selectableItemBackground

转载 作者:搜寻专家 更新时间:2023-11-01 08:45:33 26 4
gpt4 key购买 nike

现在我的 View (framelayout)有

         android:background="?android:attr/selectableItemBackground"

我想给它添加一个底部边框(当它被激活时)。一种选择是在里面再添加一层

         android:background="@drawable/my_bgr"

但这有点蹩脚 - 无缘无故地增加了 View 层次结构。

另一种选择是将我的可绘制对象作为 View 的 bgr,但更改它以处理涟漪效应:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:attr/colorControlHighlight">
<item android:id="@android:id/mask">
<color android:color="@android:color/white" />
</item>
</ripple>
</item>
<item android:top="-2dp" android:right="-2dp" android:left="-2dp">
<selector>
<item android:state_activated="true">
<shape>
<solid android:color="@android:color/transparent" />
<stroke
android:width="2dp"
android:color="#FF0000" />
</shape>
</item>
</selector>
</item>
</layer-list>

这有点酷,但我不支持 minSdk=15(我该怎么做?)如果有一天我更改了应用程序的主题,这将保持涟漪效应。有没有办法从 selectableItemBackground 中“继承”并添加边框?

最佳答案

好的,所以它可以为 21+ android 完成,其中 https://code.google.com/p/android/issues/detail?id=26251是固定的。

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="?android:attr/selectableItemBackground" />
<item android:top="-2dp" android:right="-2dp" android:left="-2dp">
<selector>
<item android:state_activated="true">
<shape>
<solid android:color="@android:color/transparent" />
<stroke
android:width="2dp"
android:color="#910E12" />
</shape>
</item>
</selector>
</item>
</layer-list>

在此之前,我想我一直在为我的 View 层次结构添加一层(第一层有 ?android:attr/selectableItemBackground,第二层是我的自定义边框背景)

关于android - 使背景继承自 selectableItemBackground,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28721751/

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