2016-03-03 92 views
0

我想通過在android的相對佈局的滾動視圖中嵌入webview來創建富文本編輯器。 webview顯示帶有可編輯div的html文件。Android:滾動視圖內的Webview無法正常工作

<html> 

<body> 
<div id="editor" contentEditable="true"></div> 
</body> 
</html> 

佈局文件: -

<ScrollView 
    android:id="@+id/blog_content" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="30dp" 
    android:clipToPadding="false" 
    android:layout_above="@+id/Footer" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    > 
    <RelativeLayout 
     android:id="@+id/rlContent" 
     android:layout_width="match_parent" 
     android:layout_height="200px"> 
     <com.medicodesk.ionapp.utils.editor.RichEditor 
      android:id="@+id/editor" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      /> 
    </RelativeLayout> 
</ScrollView> 

<LinearLayout 
    android:id="@+id/Footer" 
    android:layout_width="match_parent" 
    android:layout_height="45dp" 
    android:orientation="horizontal" 
    android:layout_alignParentBottom="true" 
    android:visibility="invisible"> 

<HorizontalScrollView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@android:color/black" 
    android:layout_above="@+id/blog_content" 
    android:id="@+id/blog_editor_toolbar" 
    > 

    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     > 

     <ImageButton 
      android:id="@+id/action_undo" 
      android:layout_width="48dp" 
      android:layout_height="48dp" 
      android:background="@null" 
      android:contentDescription="@null" 
      android:src="@drawable/undo" 
      /> 



     <ImageButton 
      android:id="@+id/action_blockquote" 
      android:layout_width="48dp" 
      android:layout_height="48dp" 
      android:background="@null" 
      android:contentDescription="@null" 
      android:src="@drawable/blockquote" 
      /> 


    </LinearLayout> 
</HorizontalScrollView> 
</LinearLayout> 

的RichEditor佈局weblayout孩子,並通過調用JavaScript的HTML與互動。

問題是,我無法將編輯器窗口高度設置爲適合android移動版面大小。編輯器將處於顯示模式,顯示用戶輸入的所有內容或將處於編輯模式,其中鍵盤佈局從底部彈出。編輯器只能垂直滾動。我不清楚我是否應該依靠html滾動或android滾動視圖來平滑滾動。

請幫幫我。

+1

[Android的WebView內滾動查看滾動只滾動視圖]可能的副本(http://stackoverflow.com/questions/13257990/android-webview-inside-scrollview-scrolls-only-scrollview) –

回答

0

試圖改變你的XML佈局如下圖所示:

<?xml version="1.0" encoding="utf-8"?> 

<ScrollView 
    android:id="@+id/blog_content" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_above="@+id/Footer" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:clipToPadding="false" 
    android:paddingBottom="30dp"> 

    <RelativeLayout 
     android:id="@+id/rlContent" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <com.medicodesk.ionapp.utils.editor.RichEditor 
      android:id="@+id/editor" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" /> 
    </RelativeLayout> 
</ScrollView> 

<LinearLayout 
    android:id="@+id/Footer" 
    android:layout_width="match_parent" 
    android:layout_height="45dp" 
    android:layout_alignParentBottom="true" 
    android:orientation="horizontal" 
    android:visibility="invisible"> 

    <HorizontalScrollView 
     android:id="@+id/blog_editor_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/blog_content" 
     android:background="@android:color/black"> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal"> 

      <ImageButton 
       android:id="@+id/action_undo" 
       android:layout_width="48dp" 
       android:layout_height="48dp" 
       android:background="@null" 
       android:contentDescription="@null" 
       android:src="@drawable/undo" /> 


      <ImageButton 
       android:id="@+id/action_blockquote" 
       android:layout_width="48dp" 
       android:layout_height="48dp" 
       android:background="@null" 
       android:contentDescription="@null" 
       android:src="@drawable/blockquote" /> 


     </LinearLayout> 
    </HorizontalScrollView> 
</LinearLayout> 

我希望它可以幫助你。

+0

對不起,混亂。我想在android中使用webview,html div和javascript document.exec()命令創建一個richtexitor。我的要求是顯示Android的活動佈局(任何佈局)只包含可編輯的文檔(這樣下面的代碼片段)網頁

。該活動應該將網頁顯示爲用戶輸入的文本區域。當用戶嘗試打開鍵盤時,佈局的大小將會減小。該網頁應該可以根據可用尺寸進行滾動。 –