先建立 Activity:
public class GoToListActivity extends ListActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.listview); this.setListAdapter(this.createArrayAdapter()); ListView lv = (ListView) this.findViewById(android.R.id.list); // 指定的 item 緊貼的上緣,如下圖一 lv.setSelection(5); // 上方多出指定的空間,如下圖二 lv.setSelectionFromTop(5, 20); } private ArrayAdapter<String> createArrayAdapter() { List<String> list = new ArrayList<String>(); for (int i = 1; i <= 29; i++) { list.add("第 " + i + " 關"); } return new ArrayAdapter<String>(this, R.layout.list_item, list.toArray(new String[] {})); } }
關鍵在於 ListView.setSelection(...) 或者 ListView.setSelectionFromTop(...)。
主要 layout 設定檔 listview.xml 如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ListView android:id="@android:id/list" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@android:id/empty" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/empty" /> </LinearLayout>最後再加上 ListView 的元件 UI 設定檔 list_item.xml:
<?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20px" />結果如下:
沒有留言:
張貼留言