java - 使用按钮标签,我可以自定义按钮吗?

标签 java android eclipse

我想使用我为我的应用程序绘制的自定义按钮图像,但这样做我需要为被聚焦的按钮使用不同的图像,另一个用于被按下的按钮。

我遇到了选择器标签,但出于某种原因它不喜欢它。 Eclipse 提示“渲染库损坏”。我得到的错误是这样的:

Broken rendering library; unsupported DPI. Try using the SDK manager to get updated.

而且我已经更新了 10 之后的每个 API。如果重要的话,我的目标 API 是 15,我的编译 API 是 17。

如果我不能让它工作,我可以简单地使用 Button 标记并在 Java src 代码中更改它吗?

最佳答案

像这样使用自定义布局

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

    <item android:state_focused="true" android:drawable="@drawable/focus"></item>

    <item android:drawable="@drawable/normal"></item>
</selector>

另请注意,选择器应以这种特定方式定义,否则它们会产生问题。即

1)state_pressed
2)state_focused ( work only if you scroll to that button using the hardware key)
3)drawable i.e. normal

如果您更改了选择器的顺序,那么它将不起作用。一种简单的内存方法是想象一部 qwerty 手机——首先我看到了按钮 (normal),然后使用箭头键 (state_focused) 移动到那个特定的按钮,然后我按下那个按钮 (state_pressed)。现在把它们倒过来写。

关于java - 使用按钮标签,我可以自定义按钮吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16826011/

相关文章:

java - android - 时差

java - 访问AppWidget中的字符串资源?

java - 某些 JPanel 未显示在我的 CardLayout 面板中

java - Android 通过 Intent 播放 http 视频 - 传递 http header

java - 按降序(逆序)对 TreeMultimap 进行排序

java - 来自 C++ 的 JNI 调用、FindClass 和导入

使用 Frida 的抽象类方法调用的 Android Hook

java - Android SDK - Eclipse - 如何在多个类中使用一段代码

c++ - 尝试在 Eclipse 中运行程序时出现 "Error opening terminal: unknown."

java - 在Java中使用 "=="