Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView
android:id="@+id/listLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<GridView
android:id="@+id/gridLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:numColumns="4"
android:gravity="center"
android:visibility="gone" />
</FrameLayout>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/item" android:title="Show GridView" android:checkable="true" />
</menu>
public class TestActivity extends Activity {
private final static String[] CONTENT = new String[]{
"Item 1", "Item 2", "Item 3", "Item 4", "Item 5",
"Item 6", "Item 7", "Item 8", "Item 9", "Item 10"};
private SharedPreferences mSettings;
private GridView mGridView;
private ListView mListView;
private boolean mIsListVisible;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mSettings = getPreferences(MODE_PRIVATE);
mGridView = (GridView) findViewById(R.id.gridLayout);
mGridView.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, CONTENT));
mListView = (ListView) findViewById(R.id.listLayout);
mListView.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, CONTENT));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
menu.findItem(R.id.item).setChecked(mIsListVisible);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.item) {
boolean isChecked = !item.isChecked();
item.setChecked(isChecked);
item.setTitle(isChecked ? "Show GridView" : "Show ListView");
showListView(isChecked);
return true;
}
return false;
}
private void showListView(boolean show) {
mIsListVisible = show;
mListView.setVisibility(show ? View.VISIBLE : View.GONE);
mGridView.setVisibility(show ? View.GONE : View.VISIBLE);
}
@Override
protected void onResume() {
super.onResume();
showListView(mSettings.getBoolean("show_list", true));
}
@Override
protected void onPause() {
super.onPause();
mSettings.edit().putBoolean("show_list", mIsListVisible).commit();
}
}
Change view. Изменяем вид интерфейса