диалог не принимает родительский размер - PullRequest
0 голосов
/ 18 июня 2010

Я создаю диалоговое окно для увеличения изображения,
Тем не менее, мой контент имеет размер 240 пикселей, и я хотел бы изменить его размер до ширины экрана до «fill_parent».Не могли бы вы сказать мне, что здесь не так?Моя картинка остается маленькой, 240px, а не 480px.

final Dialog dialog = new Dialog(myview);
dialog.setContentView(R.layout.zoom);
dialog.setTitle(""+passInfoNom+" ");
imgView2 = (ImageView)dialog.findViewById(R.id.ImageZoom);
imgView2.setImageDrawable(image);
dialog.show();

Планировка:

<?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"
    android:background="#ffffffff"
>

<ImageView android:id="@+id/ImageZoom" 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
</ImageView>
</LinearLayout>

Ответы [ 3 ]

2 голосов
/ 20 июня 2010

Как указано в другом ответе, я настраиваю размер моего диалога, создавая свой собственный класс Dialog и устанавливая его размер:

public class ZoomZoom extends Dialog 
{
    public ZoomZoom(Context context) {
    super(context);
}

@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.zoom);
    LayoutParams params = getWindow().getAttributes(); 
    params.width = LayoutParams.FILL_PARENT; 
    //params.height = LayoutParams.FILL_PARENT; 
    params.height = screenLargeur;
    getWindow().setAttributes((android.view.WindowManager.LayoutParams) params);        
    imgView2 = (ImageView)findViewById(R.id.ImageZoom);
    imgView2.setImageDrawable(imageZ);
    imgView2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            dialog.hide();
           }
        });
    }
}
2 голосов
/ 19 июня 2010

Похоже, что вы установили content на "fill_parent", но вы не установили размер диалога равным "fill_parent".измените это, и вы должны увидеть некоторые результаты.

Но у меня есть вопрос: если вы хотите, чтобы диалоговое окно масштабирования занимало весь экран, почему бы вам не начать новую деятельность, или обрезать изображение и установить обрезанныйчасть как содержание?мне кажется странным, что вы могли бы увеличить масштаб диалога.Карты Google, например, просто увеличивают масштаб существующего представления.

0 голосов
/ 05 сентября 2010

Не уверен, что это было решено для вас, но вы также можете использовать android: minWidth и android: minHeight, устанавливая их на dip.Например:

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/send_chat_layout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:background="#292929"
android:minWidth="300dip"
android:minHeight="400dip">

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"/>

</LinearLayout>

Насколько я понимаю, из-за того, как Android масштабируется в разрешении, с экраном 360x480, установка минут на 340x460 сохранит свой аспект для больших разрешений.

...