2011-07-11 8 views
1

ボタンを常にページの下部に設定したいが、常に表示されるように移動する。主な理由は、編集テキストフィールドをクリックすると、キーボードがポップアップしてボタンを非表示にするためです。フィールド内にあるときにキーボードの上に座るようにボタンを移動し、キーボードが隠れているときには底に戻るようにしたいと思います。現在、私は相対的なレイアウトを使用しています:Android:ボタンは常に表示

あなたのAndroidで

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_height="fill_parent" 
    android:orientation="vertical" android:background="#FFFFF0"> 

    <RelativeLayout android:orientation="vertical" 
     android:id="@+id/titlebar1" android:background="#082386" 
     android:layout_width="fill_parent" android:layout_height="50dip" 
     android:gravity="center"> 
     <ImageView android:src="@drawable/banner" 
      android:layout_width="wrap_content" android:layout_height="wrap_content" 
      android:scaleType="fitXY"> 
     </ImageView> 
    </RelativeLayout> 


    <Spinner android:layout_height="wrap_content" 
     android:layout_below="@+id/titlebar1" android:layout_width="wrap_content" 
     android:id="@+id/NewUsedSpinner" android:prompt="@string/NewUsed_prompt" 
     android:layout_marginTop="15dip"> 
    </Spinner> 
    <Spinner android:layout_height="wrap_content" 
     android:layout_below="@+id/NewUsedSpinner" android:layout_width="wrap_content" 
     android:id="@+id/MakeSpinner" android:prompt="@string/Make_prompt"> 
    </Spinner> 
    <Spinner android:layout_height="wrap_content" 
     android:layout_below="@+id/MakeSpinner" android:layout_width="wrap_content" 
     android:id="@+id/ModelSpinner" android:prompt="@string/Model_prompt"></Spinner> 
    <Spinner android:layout_height="wrap_content" 
     android:layout_below="@+id/NewUsedSpinner" android:layout_width="wrap_content" 
     android:id="@+id/TrimSpinner" android:prompt="@string/Trim_prompt"></Spinner> 
    <Spinner android:layout_height="wrap_content" 
     android:layout_width="wrap_content" android:id="@+id/PriceSpinner" 
     android:layout_below="@+id/TrimSpinner" android:prompt="@string/Price_prompt" 
     android:layout_marginBottom="5dip"></Spinner> 



    <TextView android:text="Search within the radius of:" 
     android:layout_below="@+id/PriceSpinner" android:id="@+id/textView1" 
     android:layout_width="wrap_content" android:layout_alignLeft="@+id/FilterZip" 
     android:layout_height="wrap_content" android:textColor="#000" 
     android:layout_marginTop="5dip"></TextView> 



    <Spinner android:id="@+id/ZipSpinner" android:layout_width="120dip" 
     android:layout_below="@+id/textView1" android:layout_height="wrap_content" 
     android:prompt="@string/Zip_prompt"></Spinner> 
    <EditText android:layout_width="fill_parent" 
     android:layout_below="@+id/textView1" android:layout_toRightOf="@+id/ZipSpinner" 
     android:layout_height="wrap_content" android:text="Zip" android:id="@+id/FilterZip" 
     android:maxLength="5" android:numeric="integer"></EditText> 


    <Button android:layout_height="50dip" android:id="@+id/FilterSearchbtn" 
     android:layout_alignParentBottom="true" android:layout_width="fill_parent" 
     android:text="Search" android:layout_below="@+id/ZipSpinner" 
     android:background="@drawable/yellow_btn" android:textStyle="bold"></Button> 



</RelativeLayout> 

答えて

2

は、あなたがあなたの活動にこれを追加しますマニフェスト:http://developer.android.com/resources/articles/on-screen-inputs.html

多分試してみてください。

<activity android:name=".YourActivity" 
     android:windowSoftInputMode="adjustResize" 

ここで公式ドキュメントですalignParentBottom="true"ボタンの上に常に表示されるようにすると、あなたのレイアウトにうんざりする必要があります。

+0

これは正しい軌道にあると思いますが、これはedittextフィールドでうまくいきますが、それは私が達成しようとしているものではありません。私は自分のボタンがソフト入力の上に留まるようにしようとしているので、キーボードが来たら、ボタンはキーボードの下から上に押し込まれます。 – Nick

+0

これは間違いなくあなたが探しているものです、私はあなたがちょうどボタンのアライメントを適切にしなければならないと思う。私の答えを編集しました。 –

+0

大丈夫、私は混乱します。私はすでにボタンの上にalignparentbottomを持っていますが、あなたが正しいかもしれないことに同意します。 – Nick

0

(1)我々は唯一有しビューせずに画面を調整したい場合(alignParentBottom =「真」)、次いでのmanifest.xmlに活性タグで線以下に設定相対レイアウトで

アンドロイド:windowSoftInputMode = 「adjustPan」

(2)我々は、その後のmanifest.xmlに活性タグで線以下に設定相対レイアウトで(alignParentBottom =「真」)を有するビューの全体の相対レイアウトを調整したい場合

アンドロイド:windowSoftInputMode =「adjustResize」

(3)私たちは、その後に線の下に設定された相対レイアウトで(alignParentBottom =「true」を)持っているビューなしで全体の相対的なレイアウトを調整したくない場合manifest.xmlでのアクティビティタグ

アンドロイド:windowSoftInputMode = "adjustPan | adjustResize"

我々はラインアンドロイドを削除した場合(4):windowSoftInputModeをmanifest.xmlにから、それは次のように動作します(2)オプション

関連する問題