2

我无法弄清楚一个非常愚蠢的问题TextView!我有一个带有 aButton和 a的简单布局TextView。这是布局:

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:text="Button1" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/button1"
    android:focusable="true"
    android:clickable="true"
    android:text="TextView1"
    android:textAppearance="?android:attr/textAppearanceMedium"/>

当按钮有焦点并且我在模拟器中按下“向下箭头”时,TextView 没有获得焦点(它不会变成蓝色!!)为什么?请帮我!!

4

2 回答 2

4

尽管 TextView 没有变成蓝色,但它正在获得焦点。

要查看发生的焦点/不焦点,例如,您可以在文本中定义颜色变化。这样,这些事件对用户来说是可感知的。

创建一个 .xml 文件并放入 /res/color/ 在我的例子中,我将该文件命名为“color_text_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:color="#00FF00"/>
      <item android:color="#FF00FF"/>
    </selector>

并将其添加android:textColor="@color/color_text_view"到文本视图。

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/button1"
android:focusable="true"
android:clickable="true"
android:text="TextView1"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/color_text_view"/>

希望这有帮助!

于 2012-11-05T10:48:08.323 回答
0

看看如果你想将你的文本设置为焦点,那么你的code is true. 您的文字处于焦点模式,但颜色不能改变。

如果您更改颜色,那么它将直接设置,因为您已经在 XML 中设置了焦点。所以当应用程序启动时 TextView 已经处于聚焦模式,所以颜色会改变。

于 2012-11-05T10:22:25.023 回答