2011-06-30 10 views
0

私はやや複雑なレイアウトですが、一番下は巨大なEditTextです。それをクリックしてキーボードを開くと、すべてがスライドして、ユーザーが入力している場所を正確に表示します(ユーザーが入力を開始すると、1行だけが表示されます。ユーザーが複数の行に移動した場合、 2行を表示するなど)。私はEditText(すべての空白スペース)が見えるようにすべてをパンしたいと思います。ソフト入力が表示されますが、完全に表示するには不十分ですeditText

<LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:background="@color/white" 
     android:orientation="vertical"> 

     <EditText 
      android:id="@+id/CommentBox" 
      android:layout_width="fill_parent" 
      android:layout_height="100dp" 
      android:textSize="16sp" 
      android:layout_marginLeft="6dp" 
      android:layout_marginTop="4dp" 
      android:background="@color/transparent" 
      android:textColor="@color/gray" 
      android:gravity="top" 
      android:inputType="textMultiLine|textCapSentences|textShortMessage|textAutoCorrect|textNoSuggestions"> 
     </EditText> 
    </LinearLayout> 

ここで数日間苦労していますが、お勧めできます。説明する

ベストな方法は、これはこれは動作が今

This is what the behavior is right now

は何かということです

This is what the entire screen looks like

のように画面全体が見えるものである3枚の画像

でありますこれは望ましい動作です

This is the desired behavior

願わくは画像が私の質問を示してくれることを願っています。私はこれをどうやって行うのかを理解する必要があります。私が適切な場所にパンを移動する唯一の方法は、android:gravityをbottomに設定することです。この場合、テキストは最下部に書き込まれます。しかし、これは明らかに非常に奇妙なユーザーエクスペリエンスです。私は通常のテキストボックスのようにテキストが必要です。

+0

多分、あなたは少し質問を拡大することができます、それは私にあなたが望むものは非常にはっきりしていません... –

+0

私はもう少し具体的に質問を更新しました。 – Leo

答えて

0

私が探していたものを模倣したソリューションを一緒にハックすることができました。 レイアウトをscrollView内に配置し、パラメータをadjustPanではなくadjustResizeに設定します。そしてEDITTEXTでクリックで

scrollView.postDelayed(new Runnable() { 
       public void run() { 
        scrollView.scrollTo(0, scrollView.getBottom()); 
       } 
      } , 250); 

は、これを行うために、非ハック方法を見つけるのが大好きだが、これは私が持っているすべてでありませんでした。

関連する問題