Проблема с макетом Android с кнопками под WebView

StackOverflow https://stackoverflow.com/questions/1678067

  •  16-09-2019
  •  | 
  •  

Вопрос

Итак, у меня есть webview, который я хотел бы отобразить в виде диалогового окна.Я бы хотел, чтобы webview заполнял весь экран, за исключением кнопки под ним, которую я хотел бы оставить в нижней части диалогового окна независимо от объема содержимого в webview.В настоящее время мой webview заполняет диалоговое окно ровно настолько, чтобы убрать кнопку с экрана.Я уверен, что это что-то довольно простое, но, хоть убей, я не смог найти волшебную комбинацию макетов, представлений и значений атрибутов, чтобы заставить ее играть красиво.Просто для ясности, я сделал так, чтобы кнопка плавала над webview, но я бы хотел, чтобы webview останавливался прямо над кнопкой и прокручивался, если это имеет смысл.

<RelativeLayout android:id="@+id/RelativeLayout01" 
                android:layout_width="fill_parent" 
                android:layout_height="fill_parent"
                xmlns:android="http://schemas.android.com/apk/res/android">
  <WebView android:id="@+id/webview"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           /> 
  <Button android:text="Ok" 
          android:id="@+id/btnOk" 
          android:layout_width="120px" 
          android:layout_height="wrap_content"
          android:layout_gravity="center_horizontal"
          android:layout_alignParentBottom="true"
          />
</RelativeLayout>
Это было полезно?

Решение

Вы захотите использовать android:layout_above="@+ id / btnOk" для вашего webview и выполнить fill_parent для ширины и высоты webview.

Однако важно отметить, что в 1.5 и ниже представления RelativeLayout должны быть указаны для того, чтобы ваш xml был правильно распознан..другими словами, сначала у вас должна быть ваша кнопка, а затем WebView, поскольку WebView будет ссылаться на кнопку.Я думаю, что это было изменено в 1.6 или 2.0, но я не уверен, что именно.

<RelativeLayout android:id="@+id/RelativeLayout01" 
                android:layout_width="fill_parent" 
                android:layout_height="fill_parent"
                xmlns:android="http://schemas.android.com/apk/res/android">

  <Button android:text="Ok" 
          android:id="@+id/btnOk" 
          android:layout_width="120px" 
          android:layout_height="wrap_content"
          android:layout_gravity="center_horizontal"
          android:layout_alignParentBottom="true"
          android:layout_centerHorizontal="true"/>
    <WebView android:id="@+id/webview"
           android:layout_above="@+id/btnOk"
           android:layout_width="fill_parent"
           android:layout_height="fill_parent"
           /> 
</RelativeLayout>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top