изображение андроида в единственном выборе

Я хочу к изображениям на дисплее в единственном выборе, когда это появляется в диалоговом окне.

сопроводительный текст http://www.freeimagehosting.net/uploads/bfb1c90d61.png

Как я могу сделать это?

6
задан Cristian 19 July 2010 в 19:29
поделиться

3 ответа

Вот вам рабочее решение. Не мой, но я использовал описанную технику, и она сработала. Не забываем про img.setBounds () , это необходимо!

http://mgmblog.com/2010/06/10/arrayadapter-and-alertdialog-for-single-choice-items/

PS: исходный пост не отображает радиокнопку, но мой макет отображает. Мой однострочный XML-файл макета (в примере отсутствует animal_row.xml) находится здесь:

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/miastorow_text"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:textAppearance="?android:attr/textAppearanceLarge"
android:gravity="center_vertical"
android:checkMark="?android:attr/listChoiceIndicatorSingle"
android:paddingLeft="6dip"
android:paddingRight="6dip"
android:textColor="#000"
/>
2
ответ дан 17 December 2019 в 06:59
поделиться

Вы можете переопределить все и создать с нуля. Сначала создайте 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 убедитесь, что вы создаете как можно более плоский макет, чтобы код был оптимизирован. Вы также можете поиграть с макетом списка, чтобы создать что-то вроде этого.

2
ответ дан 17 December 2019 в 06:59
поделиться

Я не работал над этим. Но у меня есть идея объединить три примера на API Demos.

  1. AlertDialogs
  2. SingleChoice Adapter
  3. Efficient Adapter

шаги, которые вам нужно сделать:

  • Создайте AlertDialog
  • Создайте класс List Adapter для представления, которого вы хотите достичь.
  • Используйте метод SetAdapter для установки ListAdapter.

Код примера:

new AlertDialog.Builder(MainActivity.this).setTitle("Share")setAdapter(new Listadapterclass(),new DialogInterface.OnClickListener(){

                            @Override
                            public void onClick(DialogInterface arg0,
                                    int arg1) {
                                // TODO Auto-generated method stub
        // the click event on the list item selected                        
                            }})
                .create();

Надеюсь, он работает.

0
ответ дан 17 December 2019 в 06:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: