【问题标题】:stateListDrawable helpstateListDrawable 帮助
【发布时间】:2011-07-02 22:34:27
【问题描述】:

所以我做了这两个按钮。

我希望能够单击我制作的按钮并将按钮更改为原始按钮的白化图像,而不是切换按钮中的打开和关闭状态。

到目前为止,我发现的只是与stateListDrawable xml 有关,我将其放在 3 个可绘制文件夹中。那是我发现它所属的唯一地方,但是,我不知道在哪里将 .xml 文件引用到主文件。您是否以编程方式执行此操作?如果是这样,请为我指明一个好的教程的正确方向。 android 开发页面对我来说是陌生的。我会张贴按钮,所以你会有一个更好的主意,但我不能直到我得到更多的分数。什么噱头!

<?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/toggle_selection_pressed" />  
 <item android:drawable="@drawable/toggle_selection" />
</selector>

【问题讨论】:

  • 您可以将带有选择器的 xml 文件放在 drawable 文件夹中,而不是将其放在 drawable-ldpi/mdpi/hdpi 等中,并且 RAnderson 解决方案应该可以工作...

标签: android xml


【解决方案1】:

无论您的按钮图像应该在哪里,您都可以引用您的可绘制 xml 文件。

例如,在您放置按钮的布局中:

<Button
<!-- Other stuff -->
android:background="@drawable/xmlfile"
>

【讨论】:

  • 它只是不显示任何内容,还是点击不起作用?另外,你的 stateListDrawable xml 文件的名称是什么?
【解决方案2】:

您需要一个变量来保持按钮的状态。把它放在主类声明中

    int isClicked = 0;

    button.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
        if (isClicked == 0){
           Demo_button.setsetImageResource(R.drawable.secondimage);
           isClicked = 1;
        }
        else{
           Demo_button.setsetImageResource(R.drawable.firstimage);
           isClicked = 0;
        }
    }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-21
    • 2011-06-20
    • 2011-07-28
    • 2011-10-04
    • 2011-08-03
    • 2011-11-27
    • 1970-01-01
    • 2011-08-16
    相关资源
    最近更新 更多