2011-01-27 11 views
2

私は写真をメインの背景とし、edittextと一連のボタンを下にして写真をアップロードしています。 edittextをクリックすると、ソフトキーボードが編集テキストとボタンを押して(そのまま見ることができるように)、背景イメージを同じにします。しかし、今は編集テキストの最初の行を表示するだけで十分です。すべてのボタンは隠されています。Androidでは、どのようにソフトキーボードにビューを添付しますか?

私は基本的に何とかソフトキーボードにビューを添付し、残りのアクティビティはそのままにします。私はマニフェストでwindowSoftInputModeフラグを設定しようとしましたが、オプションのどれもが効果を生み出しませんでした。このようなことをどうすれば達成できますか?

+0

状況を正しく理解していてもイメージをルートレイアウトバックグラウンドリソースに設定できず、レイアウトの残りの部分がキーボードで上下に動くようにサイズを変更する心配はありませんか? – ANemati

答えて

1

残念ながら、現在のSDKでは、ソフトキーボードが表示されたり消えたりするときに、ビューがどのように動作するかについて、システムの慈悲に少し慣れています。あなたが探している動作を達成する最も良い方法は、ウィンドウにデフォルトの入力モードを残し、ビューにスクロール可能な要素が1つあることを確認することです。キーボードが隠されている間(スクロールビューより小さなコンテンツ)、この要素はスクロールする必要はありませんが、キーボードが表示されると、スクロール可能なビューのサイズが崩壊し、それ以外はすべてそのままになります。

例を示します。のは、これはあなたのres /レイアウト/ main.xmlであるとしましょう:Androidがリサイズされているので、

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <LinearLayout 
    android:id="@+id/control" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:orientation="vertical"> 
    <EditText 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"/> 
    <Button 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="A Button"/> 
    </LinearLayout> 
    <ScrollView 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_above="@id/control"> 
    </ScrollView> 
</RelativeLayout> 

は、基本的な活動のルートレイアウトとしてこれを試してみてください、あなたは全体LinearLayoutスライドキーボードで上下ことがわかりますScrollViewのビューポートではなく、フォーカスされた入力要素(これはあなたが現在見ている)を表示するのに十分なだけビューをスライドさせます。

+0

返事をありがとう。私もこれを試しましたが、表示可能な領域よりも大きい場合、背景画像が伸びてスクロール可能になるという問題があります。それは私が避けようとしているものです。画像がキーボードでスクロールアップしても問題ありませんが、キーボードが上がっていないときは、スクロール可能な大きさにはなりたくありません(画像が表示可能なスペースを占めるようにしたい)。私は、デバイスの幅と高さを取得し、プログラムでプログラムのサイズを変更するという解決策があると確信していますが、定数の使用を避けたかったのです。 –

+0

コードを投稿することはできますか?私はあなたが描いているイメージがなぜそのようにふるまうのかも知りません。 – Devunwired

+0

私は、デバイスの幅と高さに基づいてイメージを手動でサイズ調整することにしました。 –

関連する問題