Android基于SackOfViewAdapter类实现类似状态通知栏的布局
2012-09-17 20:36:36 来源:WEB开发网核心提示: 最后,以一个实例来说明SackOfViewAdapter类的使用方法,Android基于SackOfViewAdapter类实现类似状态通知栏的布局(2),实例中我们定义4个不同布局的列表项,其中一个为null值,这四个view的布局文件分别是main_notify.xml、update_progress_notif
最后,以一个实例来说明SackOfViewAdapter类的使用方法,实例中我们定义4个不同布局的列表项,其中一个为null值,由SackOfViewAdapter的子类重写newView函数实现赋值,其他三个则不是null值。这四个view的布局文件分别是main_notify.xml、update_progress_notify.xml、notification_battery.xml和main_notify_red.xml,这些资源借用自360手机卫士,实例效果如下图所示:
而实例的代码如下:
- public class SackOfViewsDemo extends ListActivity {
- @Override
- public void onCreate(Bundle bundle) {
- super.onCreate(bundle);
- requestWindowFeature(Window.FEATURE_NO_TITLE);
- setContentView(R.layout.main);
- ArrayList<View> views = new ArrayList<View>();
- LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- // 列表项1
- View view = inflater.inflate(R.layout.main_notify, null);
- views.add(view);
- // 列表项2
- view = inflater.inflate(R.layout.update_progress_notify, null);
- views.add(view);
- // 列表项3
- view = inflater.inflate(R.layout.notification_battery, null);
- views.add(view);
- // 列表项4(为null值,在newView函数中创建)
- views.add(null);
- setListAdapter(new SillyAdapter(views));
- }
- class SillyAdapter extends SackOfViewsAdapter {
- public SillyAdapter(List<View> views) {
- super(views);
- }
- protected View newView(int position, ViewGroup parent) {
- LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- View view = inflater.inflate(R.layout.main_notify_red, null);
- return view;
- }
- }
- }
Tags:Android 基于 SackOfViewAdapter
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接