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);
}
}
标签:wear-os,android-listview,android 来源: https://codeday.me/bug/20191121/2051622.html