WearableListView是适用于android小型设备如智能手表显示列表的组件,可以村子滚动,非常方便的在只能手表上显示列表控件,每次显示三个列表在屏幕中间位置。

它继承RecyclerView,实现了OnScrollListener接口。

public class WearableListView extends android.support.v7.widget.RecyclerView           implements android.support.v7.widget.RecyclerView.OnScrollListener {    ….  ….}
下面是使用的例子


package com.technotalkative.wearablelistviewdemo; import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.support.wearable.view.WatchViewStub;import android.support.wearable.view.WearableListView;import android.view.LayoutInflater;import android.view.ViewGroup;import android.widget.TextView; import java.util.ArrayList; public class SimpleListActivity extends Activity implements WearableListView.ClickListener{     private WearableListView mListView;     @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_my);        final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);        stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {            @Override            public void onLayoutInflated(WatchViewStub stub) {                mListView = (WearableListView) stub.findViewById(R.id.listView1);                mListView.setAdapter(new MyAdapter(SimpleListActivity.this));                mListView.setClickListener(SimpleListActivity.this);            }        });    }     private static ArrayList listItems;    static {        listItems = new ArrayList();        listItems.add("Monday");        listItems.add("Tuesday");        listItems.add("Wednesday");        listItems.add("Thursday");        listItems.add("Friday");        listItems.add("Saturday");    }     @Override    public void onClick(WearableListView.ViewHolder viewHolder) {     }     @Override    public void onTopEmptyRegionClick() {     }     private class MyAdapter extends WearableListView.Adapter {        private final LayoutInflater mInflater;         private MyAdapter(Context context) {            mInflater = LayoutInflater.from(context);        }         @Override        public WearableListView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {            return new WearableListView.ViewHolder(                    mInflater.inflate(R.layout.row_simple_item_layout, null));        }         @Override        public void onBindViewHolder(WearableListView.ViewHolder holder, int position) {            TextView view = (TextView) holder.itemView.findViewById(R.id.textView);            view.setText(listItems.get(position).toString());            holder.itemView.setTag(position);        }         @Override        public int getItemCount() {            return listItems.size();        }    }}


可以为该列表加入图标,更加漂亮


private final class MyItemView extends FrameLayout implements WearableListView.Item {         final CircledImageView imgView;        final TextView txtView;        private float mScale;        private final int mFadedCircleColor;        private final int mChosenCircleColor;         public MyItemView(Context context) {            super(context);            View.inflate(context, R.layout.row_advanced_item_layout, this);            imgView = (CircledImageView) findViewById(R.id.image);            txtView = (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;            imgView.setCircleRadius(mScale);            imgView.setCircleRadiusPressed(mScale);        }         @Override        public void onScaleUpStart() {            imgView.setAlpha(1f);            txtView.setAlpha(1f);            imgView.setCircleColor(mChosenCircleColor);        }         @Override        public void onScaleDownStart() {            imgView.setAlpha(0.5f);            txtView.setAlpha(0.5f);            imgView.setCircleColor(mFadedCircleColor);        }    }

下面的连接是该demo的完整工程 WearableListView Demo




更多相关文章

  1. android 数字键盘使用
  2. 一个Demo让你掌握所有的android控件
  3. android之控件EditText学习
  4. Android(安卓)AutoCompleteTextView示例教程
  5. android switch 控件自定义样式不显示??
  6. Android中Intent对应的category列表大全 .
  7. android通知栏提示
  8. android dialog集合
  9. Android(安卓)列表对话框

随机推荐

  1. php curl模拟登陆抓取数据
  2. php 自己做的简单论坛
  3. fgetcsv()错误地将双引号添加到第一行的第
  4. 将DOMDocument中的特定元素导出为字符串
  5. header("Content-type:text/html;charset
  6. 如果key在变量中,PHP如何从数组中获取值
  7. CakePHP错误:在Acl中找不到类'String'
  8. php 无限级分类 递归+sort排序 和 非递归
  9. 如何捕获错误,如无法打开流和连接超时
  10. AJAX调用在JavaScript中运行PHP脚本