ui android需要解决的问题
1. layoutInflator
2. 在没有activity的情况下调用layout怎么实现
3.动画
4.webview
5.grid view中嵌套viewpager
6.不规则布局
JSONArray
ViewFilpper
ViewFlow
http://www.cnblogs.com/TerryBlog/archive/2012/02/17/2355753.html
http://www.javacodegeeks.com/2013/04/android-tutorial-using-the-viewpager.html
public class MenuGridView {
private View v;
private JSONArray mJsonArray;
//just for test
public MenuGridView(LayoutInflater inflater, ViewGroup container) {
v = inflater.inflate(R.layout.gridview, container, false);
}
public void PlainGridView(
GridView gridview, Activity activity){
//View v = inflater.inflate(R.layout.gridview, container, false);
ArrayList<HashMap<String, Object>> menuImageItem = new ArrayList<HashMap<String, Object>>();
for (int i = 0; i < 6; i++) {
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("ImageItem", R.drawable.submenu);
map.put("TextItem", "The " + String.valueOf(i));
menuImageItem.add(map);
}
GridViewAdapter menuItemAdapter = new GridViewAdapter(activity,
menuImageItem, R.layout.gridmenuitem, new String[] {
"ImageItem", "TextItem" }, new int[] { R.id.ItemImage,
R.id.ItemText });
gridview.setAdapter(menuItemAdapter);
}
public void ViewPagerGridView(int albumCount, ViewPager mViewPager, FragmentManager mFragMgr, GridView gridview, Activity activity){
//ViewPager mViewPager = (ViewPager)findViewById(R.id.viewpager);
//mViewPagerAdapter = new ViewPagerAdapter(this,mJsonArray);
//mViewPager.setAdapter(mViewPagerAdapter);
ArrayList<HashMap<String, Object>> menuImageItem = new ArrayList<HashMap<String, Object>>();
//set 1
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("fragment", value);
// Todo: use albumCount to design the fragment
List<Fragment> fragmentList= new ArrayList<Fragment>();
List<String> titleList = new ArrayList<String>();
fragmentList.add(new ViewPagerFragment("1"));
fragmentList.add(new ViewPagerFragment("status_page"));
titleList.add("1_title");
titleList.add("status page_title");
ViewPagerFragmentAdapter mViewPagerAdapter;
mViewPagerAdapter = new ViewPagerFragmentAdapter(mFragMgr,fragmentList,titleList);
mViewPager.setAdapter(mViewPagerAdapter);
//set the adapter for the gridview
GridViewAdapter menuItemAdapter = new GridViewAdapter(activity,
menuImageItem, R.layout.view_pager_fragment_demo2, new String[] {
"ImageItem", "TextItem" }, new int[] { R.id.ItemImage,
R.id.ItemText });
gridview.setAdapter(menuItemAdapter);
}
}
public class ViewPagerFragment extends Fragment {
private String text;
private TextView tv = null;
// todo: 考虑将layout 也通过参数传进来,利于复用
public ViewPagerFragment(String text) {
super();
this.text = text;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (text.equals("main_page")) {
View v = inflater.inflate(R.layout.gridview, container, false);
GridView gridview = (GridView) v.findViewById(R.id.gridview);
MenuGridView menuGridView = new MenuGridView(inflater, container);
//test for the plain grid view
//menuGridView.PlainGridView(gridview, (Activity) getActivity());
//test for the grid view contains view pager
View v2 = inflater.inflate(R.layout.viewpagergrid,container,false);
ViewPager mViewPager = (ViewPager)v2.findViewById(R.id.viewpagergrid);
menuGridView.ViewPagerGridView(2, mViewPager, getActivity().getSupportFragmentManager(),gridview,(Activity) getActivity());
return v;
}
else if(text.equals("status_page")){
View v = inflater.inflate(R.layout.view_pager_fragment_demo2,
container, false);
return v;
}
else{
View v = inflater.inflate(R.layout.view_pager_fragment_demo,
container, false);
tv = (TextView) v.findViewById(R.id.viewPageText);
tv.setText(text);
return v;
}
}
}
浙公网安备 33010602011771号