android 4.4W.2是用于智能手表开发,建议用android studio开发,不过也可以用eclipse,因为是新系统,所以网上的demo比较少。只有在developer上可以看到几个简单的demo,但是需要,我把开发文档都保存下来:

http://download.csdn.net/detail/chaoyue0071/8369241

http://download.csdn.net/detail/chaoyue0071/8369241

开发者链接:http://developer.android.com/training/building-wearables.html

针对手表小屏幕的关系,android 有一套新的ui库去适配,具体sample可以用 sdk manager管理下载

这个库可以帮你专为可穿戴设备构建UI,一些主要的类包括:

BoxInsetLayout - 一个FrameLayout ,可以自适应屏幕形状,可以把子View填充进屏幕的中间。

CardFragment  -  一个可扩展内容的Fragment,可垂直滚动的卡片

CircledImageView - 圆形的ImageView

ConfirmationActivity - 一个Activity,当用户完成某个操作的时候 会有确认动画

DismissOverlayView - 一个实现了长按消失的view

GridViewPager - 一个可以允许用户垂直和水平滑动页面的控件,可以实现一个GridPagerAdapter 来展现数据

WatchViewStub - 根据屏幕的形状来渲染一个特殊的布局的类

WearableListView - 专门为小屏幕的可穿戴设备而优化的listview,显示一个可垂直滚动的列表。当用户停止滑动的时候,会自动将最近的项吸附住。

用eclipse可以开发,等下会附录下载地址

以wearablelistview为例开发

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

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

 

view source print ? 1. public class WearableListView extends android.support.v7.widget.RecyclerView 2. implements android.support.v7.widget.RecyclerView.OnScrollListener { 3.   4. …. 5. …. 6. } 下面是使用的例子

 

 

view source print ? 01. package com.technotalkative.wearablelistviewdemo; 02.   03. import android.app.Activity; 04. import android.content.Context; 05. import android.os.Bundle; 06. import android.support.wearable.view.WatchViewStub; 07. import android.support.wearable.view.WearableListView; 08. import android.view.LayoutInflater; 09. import android.view.ViewGroup; 10. import android.widget.TextView; 11.   12. import java.util.ArrayList; 13.   14. public class SimpleListActivity extends Activity implements WearableListView.ClickListener{ 15.   16. private WearableListView mListView; 17.   18. @Override 19. protected void onCreate(Bundle savedInstanceState) { 20. super.onCreate(savedInstanceState); 21. setContentView(R.layout.activity_my); 22. final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub); 23. stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() { 24. @Override 25. public void onLayoutInflated(WatchViewStub stub) { 26. mListView = (WearableListView) stub.findViewById(R.id.listView1); 27. mListView.setAdapter(new MyAdapter(SimpleListActivity.this)); 28. mListView.setClickListener(SimpleListActivity.this); 29. } 30. }); 31. } 32.   33. private static ArrayList listItems; 34. static { 35. listItems = new ArrayList(); 36. listItems.add("Monday"); 37. listItems.add("Tuesday"); 38. listItems.add("Wednesday"); 39. listItems.add("Thursday"); 40. listItems.add("Friday"); 41. listItems.add("Saturday"); 42. } 43.   44. @Override 45. public void onClick(WearableListView.ViewHolder viewHolder) { 46.   47. } 48.   49. @Override 50. public void onTopEmptyRegionClick() { 51.   52. } 53.   54. private class MyAdapter extends WearableListView.Adapter { 55. private final LayoutInflater mInflater; 56.   57. private MyAdapter(Context context) { 58. mInflater = LayoutInflater.from(context); 59. } 60.   61. @Override 62. public WearableListView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 63. return new WearableListView.ViewHolder( 64. mInflater.inflate(R.layout.row_simple_item_layout, null)); 65. } 66.   67. @Override 68. public void onBindViewHolder(WearableListView.ViewHolder holder, int position) { 69. TextView view = (TextView) holder.itemView.findViewById(R.id.textView); 70. view.setText(listItems.get(position).toString()); 71. holder.itemView.setTag(position); 72. } 73.   74. @Override 75. public int getItemCount() { 76. return listItems.size(); 77. } 78. } 79. }

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

 

 

view source print ? 01. private final class MyItemView extends FrameLayout implements WearableListView.Item { 02.   03. final CircledImageView imgView; 04. final TextView txtView; 05. private float mScale; 06. private final int mFadedCircleColor; 07. private final int mChosenCircleColor; 08.   09. public MyItemView(Context context) { 10. super(context); 11. View.inflate(context, R.layout.row_advanced_item_layout, this); 12. imgView = (CircledImageView) findViewById(R.id.image); 13. txtView = (TextView) findViewById(R.id.text); 14. mFadedCircleColor = getResources().getColor(android.R.color.darker_gray); 15. mChosenCircleColor = getResources().getColor(android.R.color.holo_blue_dark); 16. } 17.   18. @Override 19. public float getProximityMinValue() { 20. return mDefaultCircleRadius; 21. } 22.   23. @Override 24. public float getProximityMaxValue() { 25. return mSelectedCircleRadius; 26. } 27.   28. @Override 29. public float getCurrentProximityValue() { 30. return mScale; 31. } 32.   33. @Override 34. public void setScalingAnimatorValue(float value) { 35. mScale = value; 36. imgView.setCircleRadius(mScale); 37. imgView.setCircleRadiusPressed(mScale); 38. } 39.   40. @Override 41. public void onScaleUpStart() { 42. imgView.setAlpha(1f); 43. txtView.setAlpha(1f); 44. imgView.setCircleColor(mChosenCircleColor); 45. } 46.   47. @Override 48. public void onScaleDownStart() { 49. imgView.setAlpha(0.5f); 50. txtView.setAlpha(0.5f); 51. imgView.setCircleColor(mFadedCircleColor); 52. } 53. }

更多相关文章

  1. Android(安卓)android.uid.shared MK编译或eclipse编译后签名
  2. Android应用程序四大组件
  3. android 数据存储
  4. 4.11笔记 android database打开方式,ios反射
  5. 【Android(安卓)开发教程】屏幕方向的改变
  6. Android(安卓)中的各种控件
  7. Android(安卓)支持多屏幕机制
  8. singleLine=”true” 和 maxLines=”1″的区别
  9. Android使edittext弹出的软键盘位于输入框下面而不是覆盖输入框

随机推荐

  1. mysql生成指定位数的随机数及批量生成随
  2. mysql-5.7.21-winx64免安装版安装--Windo
  3. 详解mysql8.0创建用户授予权限报错解决方
  4. 最新mysql-5.7.21安装和配置方法
  5. MySQL5.7.21解压版安装详细教程图解
  6. mysql 5.7.21 解压版通过历史data目录恢
  7. 浅谈mysql8.0新特性的坑和解决办法(小结)
  8. mysql 从 frm 文件恢复 table 表结构的3
  9. 详解MySQL安装及MySQL8.0新密码认证方式
  10. MySQL数据库监控软件lepus使用问题以及解