FrameLayout / WebView игнорирует fill_parent в теме диалога - PullRequest
0 голосов
/ 26 мая 2011

У меня есть действие с темой диалога.

<activity
    android:name=".MyActivity"
    android:theme="@android:style/Theme.Dialog" />

В этом действии используется следующий макет xml:

<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/activity_article_frame_layout"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#000000">
    <WebView
        android:id="@+id/activity_article_web_view"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />
    <Button
    android:id="@+id/activity_article_close_button"
        android:layout_width="25dip"
        android:layout_height="26dip"
        android:layout_marginTop="5dip"
        android:layout_marginRight="5dip"
        android:layout_gravity="right|top"
        android:background="@drawable/close_button" />
</FrameLayout>

Содержимое веб-представления будет загружено из сохраненного файла.на SD-карте (содержимое предоставлено в виде данных о намерениях).Это происходит в onCreate ():

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_article);

    // Handle to the WebView
    mWebView = (WebView) findViewById(R.id.activity_article_web_view);
    initWebView();
    mWebView.loadDataWithBaseURL(null, myHtmlContent, "text/html", "utf-8", null);

    // Handle to the close button
    mCloseButton = (Button) findViewById(R.id.activity_article_close_button);
    mCloseButton.setOnClickListener(this);
}

Подробная информация о проекте: minSDK: 7 (2.1)

Моя проблема в том, что WebView и / или FrameLayout не заполняют_пареньВысота действия точно соответствует высоте, используемой для кнопки.Я едва могу прочитать первую строчку своей страницы.Моя проблема случается только на сотах 3.x.Ниже (<= 2.3) действие заполняет родительский объект, и я вижу полный веб-сайт. </p>

Я попытался создать веб-представление динамически.Я попытался установить LayoutParams в onCreate ().Ничего не изменилось.Я также пытался вызвать invalidate () для FrameLayout и WebView, но результат тот же ...

Ответы [ 2 ]

7 голосов
/ 22 ноября 2011

у меня это решение сработало:

Как получить окно активности в стиле диалога для заполнения экрана?

    @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.your_layout);

    getWindow().setLayout(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
}
2 голосов
/ 26 мая 2011

Попробуйте использовать RelativeLayout в качестве FrameLayout, возможно, он будет работать. Я не знаю, принимает ли FrameLayout fill_parent.

...