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. } 下面是使用的例子

 

android wearable 研究_第1张图片

 

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. }

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

 

android wearable 研究_第2张图片

 

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. cocos2dx程序 在android上 触碰屏幕就崩溃 crash in cocos on to
  2. android防止屏幕关闭后后台服务停止运行
  3. Android OpenGL库函数列表
  4. Android开发之屏幕属性
  5. Android获取屏幕的宽和高
  6. Android仿QQ消息列表ListView滑动删除效果

随机推荐

  1. Android语言国际化values资源文件命名规
  2. Android的AlertDialog的6种使用情景
  3. android系统提供的几种颜色Color
  4. Android AsyncTask实例
  5. android 文件名长度限制
  6. android实现gallery一个一个滑动
  7. Android(安卓)工程V4包找不到的问题
  8. android 使用linux命令截屏
  9. android bundle 使用注意
  10. 【Android】 开发即时聊天工具 YQ (仿QQ)