Jen*_*fer 2 google-glass google-gdk
我正在使用a CardScrollView在沉浸式应用程序中呈现一堆内容,我不想使用标准,Card因为我想更多地控制布局.
我有一个xml布局文件,它定义了我想要的布局,但是我无法弄清楚如何在代码中创建这个布局的本地实例,这样我就可以获取/设置它的组件并将它们添加到我的卡片滚动适配器列表中.
有没有人这样做,或知道我在哪里可以找到一个例子或教程或什么?
谢谢!
这是我到目前为止尝试过的代码(它在Activity的onCreate方法中)
setContentView(R.layout.activity_menu_top);
viewCards = new ArrayList<RelativeLayout>();
TextView tv;
RelativeLayout layout = (RelativeLayout) findViewById(R.id.layout_menutop);
tv = (TextView) layout.findViewById(R.id.textSectionTitle);
tv.setText("Appetizers");
tv = (TextView) layout.findViewById(R.id.textPreviousItem);
tv.setText("");
tv = (TextView) layout.findViewById(R.id.textNextItem);
tv.setText("Entress >");
viewCards.add(layout);
//repeat that last chunk a bunch of times
menuCSV = new CardScrollView(this);
menuCSV.setOnItemClickListener(this);
adapter = new MenuCardScrollAdapter();
menuCSV.setAdapter(adapter);
menuCSV.activate();
setContentView(menuCSV);
Run Code Online (Sandbox Code Playgroud)
我正在引用的'TextView'ID是我在布局xml中定义的'RelativeLayout'的子视图.我已经尝试了上面的代码的一些变化,我很难找出获取和设置这些元素的正确方法,然后将它们作为'CardScrollAdapter'的单个对象粘贴在List中.我敢肯定这应该是非常简单但我无法弄清楚我错过了什么.
再次感谢!
在不知道你的CardScrollAdapter外观的情况下,一般的想法是做这样的事情:你可以创建一个子类,CardScrollAdapter在其构造函数中获取一个视图列表,然后你在里面返回相应的一个getView:
private class YourCardScrollAdapter extends CardScrollAdapter {
private List<RelativeLayout> mViews;
public YourCardScrollAdapter(List<RelativeLayout> views) {
mViews = views;
}
// ...other methods...
@Override
public View getView(int position, View convertView, ViewGroup parent) {
return mViews.get(position);
}
}
Run Code Online (Sandbox Code Playgroud)
如果您有少量固定卡(例如,如果您使用滚动条,如带有固定选项的菜单),则此方法很好.如果您使用更多动态卡片,其内容和数量可能会因其他因素而异,您可能需要考虑对内部布局进行充气和填充,getView而不是预先对其进行预充气.这样,只有用户当前正在查看的视图位于内存中(并且每侧都有一对,以便更快地滚动),但是在需要之前不会加载其余视图以便更好地保存资源.
| 归档时间: |
|
| 查看次数: |
2575 次 |
| 最近记录: |