【オリジナル】Androidは新浪微博の「もっと」ページ効果を模倣
新浪微博の「もっと」ページの効果を見て、いい感じがしたので、真似してみましたが、実際にはlistviewで、いくつかの画像を追加しました.
直接コードをつけると、まずActivity
そしてmore_adapterのxmlファイル
画像は新浪微博から得ることができ、最終的な効果は下図のようです.
[img]http://my.iteye.com/admin/picture/113297" alt="[/img]
[img]http://my.iteye.com/admin/picture/113297" alt="[/img]
直接コードをつけると、まず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]