微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android WearableListView ImageView选择器

我试图创建一个列表视图,如下所示:

现在,我已经使用WearableListView适配器使列表视图成功工作.但是,我在ImageView中使用静态图像.我想要的是在滚动时特定列表元素被聚焦时创建这种灰色和蓝色的动画.我怎么做?我尝试为ImageView使用选择器xml文件,但是似乎此ListView并未使用此选择器(android:state-focused,selected,pressed-nothing有效).知道我如何得到想要的东西吗?希望我把问题弄清楚.谢谢.

解决方法:

是的,您是对的,图片选择器不起作用,为什么?我不清楚,我们也没有任何文件可供阅读.

但是幸运的是,我已经成功实现了此方案,它几乎类似于认设置屏幕.

解决方法是,我在以下方法中设置了圆形颜色:

> onScaleUpStart()-为所选项目设置圆圈颜色
> onScaleDownStart()-为未选择的项目设置圆圈颜色.

我在项目布局中放入了CircleImageView和TextView.示例代码可能是:

private final class MyItemView extends FrameLayout implements WearableListView.Item {

    final CircledImageView image;
    final TextView text;
    private float mScale;
    private final int mFadedCircleColor;
    private final int mChosenCircleColor;

    public MyItemView(Context context) {
        super(context);
        View.inflate(context, R.layout.wearablelistview_item, this);
        image = (CircledImageView) findViewById(R.id.image);
        text = (TextView) findViewById(R.id.text);
        mFadedCircleColor = getResources().getColor(android.R.color.darker_gray);
        mChosenCircleColor = getResources().getColor(android.R.color.holo_blue_dark);
    }

    @Override
    public float getProximityMinValue() {
        return mDefaultCircleRadius;
    }

    @Override
    public float getProximityMaxValue() {
        return mSelectedCircleRadius;
    }

    @Override
    public float getCurrentProximityValue() {
        return mScale;
    }

    @Override
    public void setScalingAnimatorValue(float value) {
        mScale = value;
        image.setCircleRadius(mScale);
        image.setCircleRadiuspressed(mScale);
    }

    @Override
    public void onScaleUpStart() {
        image.setAlpha(1f);
        text.setAlpha(1f);
        image.setCircleColor(mChosenCircleColor);
    }

    @Override
    public void onScaleDownStart() {
        image.setAlpha(0.5f);
        text.setAlpha(0.5f);
        image.setCircleColor(mFadedCircleColor);
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐