在Android 5中,默认情况下,选择器始终处于禁用状态

时间:2017-10-18 10:02:10

标签: android android-selector

我有GridAdapter里面有几个项目。

我将选择器设置为:

<selector xmlns:android="http://schemas.android.com/apk/res/android"
    android:exitFadeDuration="@integer/default_fade_duration">

    <item android:state_enabled="false">
        <shape>
            <solid
                android:color="@color/greyDark" />
        </shape>
    </item>
    <item android:state_pressed="true">
        <shape>
            <solid
                android:color="@color/grey" />
        </shape>
    </item>
    <item>
        <shape>
            <solid
                android:color="@color/transparent" />
        </shape>
    </item>

</selector>

这就是我在布局中使用它的方式:

<SquareLinearLayout
    ...
    android:background="@drawable/button_transparent_grey">
    <ImageView/>
    <TextView/>
</SquareLinearLayout>

我在适配器中的getView内使用它:

convertView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        intf.onMenuClick(position, icon);
    }
});

但每次我打开任何具有该网格菜单的活动时,默认情况下,这些项目都处于disabled状态,即使它实际已启用。

当我触摸它时,它像往常一样进入按下状态,然后如果我拖动并释放我的手指在该视图之外(取消我的按下),它将进入默认状态。

我想要的是默认情况下它会转到normal状态,如果它实际上被禁用则会disabled

0 个答案:

没有答案