Вы можете переопределить все и создать его с нуля. Сначала создайте xml с описанием содержимого, которое вы хотите. Например:
<!-- test.xml -->
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/white">
<ImageView android:id="@+id/ImageView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/facebook"></ImageView>
<TextView android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/ImageView01"
android:text="Facebook"
android:textSize="40sp"></TextView>
<RadioButton android:id="@+id/RadioButton01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/TextView01"></RadioButton>
</RelativeLayout>
Затем создайте этот XML-файл, используя диалоговое окно с предупреждением. Вы можете позволить деятельности обрабатывать ваш диалог и просто переопределить onCreateDialog следующим образом:
@Override
protected Dialog onCreateDialog(int id) {
View view = LayoutInflater.from(MainActivity.this).inflate(R.layout.test, null);
return new AlertDialog.Builder(MainActivity.this).setView(view).setTitle("Share")
.create();
}
Затем вы можете переопределить onClick для сохранения состояния в ваших файлах StaticPreferences. Таким образом, вы получите полный контроль над всеми элементами в вашем представлении.
Последний совет: при создании xml убедитесь, что вы создали максимально плоский макет, чтобы код был оптимизирован. Вы также можете поиграть с макетом списка, чтобы создать что-то вроде этого.