1

我们用于其中一个屏幕的弹出示例

我创建了一个自定义弹出视图,可用于设置优先级。最初,当我尝试设置显示弹出窗口时,我预设了ImageViewwith ImageView.pressed(true),它由图像的灰色背景显示。

现在,当我单击另一个图像时,我可以注册单击但无法在屏幕上显示更改,即无法将ImageView.Pressed(true)状态模拟到被按下的图像上。

4

1 回答 1

0

出于同样的目的,我使用了 s,并且有一种方法可以为从侦听ImageButton器调用的一组相关按钮设置状态。onClick()例如,

private void configurePaletteStrokeWidth(Crayon.StrokeWidth strokeWidth) {
    findViewById(R.id.iButtonStrokeWidthSmall).setSelected(false);
    findViewById(R.id.iButtonStrokeWidthMedium).setSelected(false);
    findViewById(R.id.iButtonStrokeWidthLarge).setSelected(false);
    findViewById(R.id.iButtonStrokeWidthXLarge).setSelected(false);
    switch (strokeWidth) {
    case SMALL:
        findViewById(R.id.iButtonStrokeWidthSmall).setSelected(true);
        break;
    case LARGE:
        findViewById(R.id.iButtonStrokeWidthLarge).setSelected(true);
        break;
    case XLARGE:
        findViewById(R.id.iButtonStrokeWidthXLarge).setSelected(true);
        break;
    case MEDIUM:
        findViewById(R.id.iButtonStrokeWidthMedium).setSelected(true);
        break;
    }
}

每个按钮的 xml 类似于:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/button_stroke_width_small_tap" android:state_pressed="true"/> <!-- pressed -->
    <item android:drawable="@drawable/button_stroke_width_small_tap" android:state_selected="true"/> <!-- selected -->
    <item android:drawable="@drawable/button_stroke_width_small_normal" android:state_focused="true"/> <!-- focused -->
    <item android:drawable="@drawable/button_stroke_width_small_normal"/> <!-- default -->

</selector>
于 2012-11-05T14:01:44.690 回答