Android WebView переносит текст на новую строку и предотвращает горизонтальную прокрутку - PullRequest
0 голосов
/ 27 июня 2018

Я использую WebView для отображения контента, однако, контент, который долго, создает горизонтальную прокрутку, что нежелательно. Когда я пытаюсь использовать такие методы, как setLoadWithOverviewMode() и setUseWideViewPort() и т. Д., Как предполагают все другие решения, текст сокращается слишком маленьким для чтения. Алгоритм Autosizing Layout также дает тот же результат. Желаемый результат заключается в том, чтобы html сохранил свой масштаб, но обернул текст, чтобы он уместился на экране, а не уменьшал размер текста. Вот мой XML, если это поможет:

<ScrollView>
        ...

        <LinearLayout
                android:id="@+id/details_fragment_description_container"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_marginBottom="@dimen/margin_extra_extra_large"
                android:background="@color/white"
                android:orientation="horizontal"
                android:paddingTop="@dimen/padding_extra_extra_large"
                android:visibility="visible">

            <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:paddingEnd="@dimen/padding_extra_extra_large"
                    android:paddingStart="@dimen/padding_extra_extra_large"
                    android:src="@drawable/ic_drafts_24_biscay"/>

            <WebView
                    android:id="@+id/details_fragment_description_webview"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"/>

        </LinearLayout>

1 Ответ

0 голосов
/ 27 июня 2018

Создайте экземпляр вашего WebView в вашем занятии / классе , затем вызовите setOnTouchListener интерфейс вашего экземпляра и программно отключите прокрутку:

webview.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
  return (event.getAction() == MotionEvent.ACTION_MOVE);
}
}); 

Затем внутри вашего xml оберните WebView с помощью ScrollView и установите android:scrollbars="vertical"

<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="vertical">
   <WebView
   android:id="@+id/details_fragment_description_webview"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"/>
</ScrollView>

Кредит идет на это решение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...