【オリジナル】Androidは新浪微博の「もっと」ページ効果を模倣


新浪微博の「もっと」ページの効果を見て、いい感じがしたので、真似してみましたが、実際にはlistviewで、いくつかの画像を追加しました.
直接コードをつけると、まずActivity

public class MoreActivity extends Activity implements OnItemClickListener {
	private String[] datas = null;

	ListView mineListView;
	TextView title;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.birth_more);
		datas = getResources().getStringArray(R.array.set);
		initViews();
	}

	private void initViews() {
		mineListView = (ListView) findViewById(R.id.phoneMyMainListView);
		mineListView.setAdapter(mAdapter);
		title = (TextView) findViewById(R.id.module_title_text_view);
		title.setText(R.string.more);
		mineListView.setOnItemClickListener(this);
	}

	private BaseAdapter mAdapter = new BaseAdapter() {

		public int getCount() {
			return datas.length;
		}

		public Object getItem(int position) {
			return null;
		}

		public long getItemId(int position) {
			return 0;
		}

		public View getView(int position, View convertView, ViewGroup parent) {
			View retval = LayoutInflater.from(parent.getContext()).inflate(
					R.layout.more_adapter, null);
			TextView title = (TextView) retval
					.findViewById(R.id.phoneMyMainText);
			title.setText(datas[position]);
			if(position == 0){
				retval.setBackgroundResource(R.drawable.moreitem_bg_top);
			}else if(position == (datas.length-1)){
				retval.setBackgroundResource(R.drawable.moreitem_bg_bottom);
				
			}else {
				retval.setBackgroundResource(R.drawable.moreitem_bg_middle);
			}
			return retval;
		}

	};

	@Override
	public void onItemClick(AdapterView<?> arg0, View arg1, int position,
			long arg3) {
		switch (position) {
		case 0:
			break;
		case 1:
			break;
		case 2:
			Intent intent = new Intent(this, AppStoreActivity.class);
			startActivity(intent);
			break;
		case 3:
			break;
		case 4:
			break;
		case 5:
			showAboutDialog();
			break;
		}
	}

	private void showAboutDialog() {
		BirthDialogBuilder idb = new BirthDialogBuilder(this);
		idb.setTitle(R.string.about);
		idb.setMessage("    ");
		idb.setPositiveButton("OK", new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				dialog.dismiss();
			}
		});
		idb.show();
	}
}

そしてmore_adapterのxmlファイル

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/item_bg" >

    <TextView
        android:id="@+id/phoneMyMainText"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:duplicateParentState="true"
        android:singleLine="true"
        android:textAppearance="?android:textAppearanceMedium"
        android:textColor="#2475b6" />

</RelativeLayout>

画像は新浪微博から得ることができ、最終的な効果は下図のようです.
[img]http://my.iteye.com/admin/picture/113297" alt="[/img]
[img]http://my.iteye.com/admin/picture/113297" alt="[/img]