Android: EditText поверх WebView?

Я хотел бы имитировать поведение браузера Android по умолчанию. EditText (адресная строка) сверху начнет «исчезать», когда пользователь прокрутит вниз. Единственное, о чем я могу думать прямо сейчас, это поместить EditText и WebView в ScrollView, но это создаст другие проблемы и не рекомендуется.

Что вы думаете?


person Alex1987    schedule 10.02.2011    source источник


Ответы (2)


Создайте собственное представление, расширив WebView и переопределив onScrollChanged(). С небольшими расчетами вы можете выполнить свою задачу.

person Alex Orlov    schedule 10.02.2011
comment
То есть в основном вы говорите, что мне придется вытолкнуть адресную строку за пределы экрана? Нет ли какого-нибудь элегантного способа сделать это? - person Alex1987; 10.02.2011
comment
Это то, что я имел в виду. Изменение положения поля редактирования в зависимости от текущей прокрутки. Не любой, о котором я знаю. - person Alex Orlov; 10.02.2011

Какие проблемы вызывает ваш ScrollView? Этот должен работать нормально:

<?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:stretchColumns="0" android:orientation="vertical">

 <ScrollView android:layout_width="fill_parent" android:layout_gravity="top" android:layout_height="fill_parent">
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="0" android:orientation="vertical">
 <EditText android:layout_width="fill_parent" android:id="@+id/editText1" android:text="yourtexthere" android:layout_gravity="bottom" android:layout_height="wrap_content">
 </EditText> 
     <WebView android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/myWebView"></WebView>
 </LinearLayout>
 </ScrollView>

</LinearLayout>
person NoBugs    schedule 15.07.2011
comment
По моему мнению, это автономное решение обеспечивает плохой пользовательский интерфейс из-за уродливой прокрутки WebView. См. мой ответ здесь, чтобы обеспечить лучший пользовательский интерфейс при размещении веб-просмотра в представлении прокрутки - TolerantScrollView - person rus1f1kat0R; 19.10.2012