gpt4 book ai didi

android - View on press onpress : Change background color on press? 如何显示正在按下 View?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:51:08 28 4
gpt4 key购买 nike

目前,我有一个带有 9 补丁图像作为边框的自定义 View 。

该自定义 View 在 LinearLayout 中放置了三次,所以它看起来像这样:

+------------------------+
| CustomView |
+------------------------+
| CustomView |
+------------------------+
| CustomView |
+------------------------+

我已将点击事件监听器附加到 View ,因此它是可点击的。但是当我点击它时,我看不到我正在点击它 - 颜色没有变化。

所以,我想我应该附加一个“onPress”监听器,然后更改 View 的背景,但我找不到这样的监听器。

那么,我如何在 View 上创建行为以便我可以看到它正在被按下?这通常在 Android 中完成,背景为绿色,表示它正在被按下。

最佳答案

您可以为 View 设置 OnClickListener。单击 View 时将调用它。但是对于像单击 View 时更改背景这样简单的事情,您应该使用有状态的可绘制对象。他们是这样工作的,你制作了 3 张 9 补丁图像。

  1. 是像你现在这样的正常背景。
  2. 是当用户使用轨迹球/方向键选择 View 时背景应该是什么样子
  3. 是用户点击时 View 的样子

然后在可绘制文件夹中创建一个新的 xml 文件。它应该看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_focused="true"
android:state_pressed="true"
android:drawable="@drawable/background_pressed" />
<item
android:state_focused="true"
android:state_pressed="false"
android:drawable="@drawable/background_focused" />
<item
android:state_focused="false"
android:state_pressed="true"
android:drawable="@drawable/background_pressed" />
<item
android:drawable="@drawable/background_normal" />

然后,当您设置 View 的背景时,将其设置为 xml 文件。

关于android - View on press onpress : Change background color on press? 如何显示正在按下 View?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2009477/

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