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

	}

}

  

原文地址:https://www.cnblogs.com/lauraxia/p/3129829.html