• ベストアンサー

ボタンの場所を固定にしたい

お世話になります。 JAVA eclipse でアンドロイドアプリを作りたいと思っています。 画面.xmlにtextviewとbuttonがある状態です。 textviewの下にbuttionがあるのですが、 buttionの位置がテキストビューの長さによって 変わってしまいます。 buttionを画面の最下部にしたいと 思っているのですが、直接値を入れては、、 スマホの画面サイズによって、画面の最下部の位置が ことなると思います。 どのようにすれば、buttionを画面の最下部に することができるでしょうか? 何卒宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

textviewとbuttonが配置されてる親コンテナは何かな。それによって方法は変わるんだぜ。 まぁやりかたの一つとして、以下のようなものがある。 ・画面.xmlをRelativeLayoutにする。 ・その中にScrollViewとButtonを置く。 ・Buttonを左下に配置する。widthは幅いっぱいでheightはコンテンツ高。 ・ScrollViewをButtonの上に配置する。widthは幅いっぱいでheightは高さいっぱい。 ・TextViewをScrollViewの中に置く。widthは幅いっぱいでheightはコンテンツ高。 ~~~~画面.xml~~~~ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/RelativeLayout1" android:layout_width="match_parent" android:layout_height="match_parent" (省略) > <ScrollView android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@+id/button1" > <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/hello_world" /> </ScrollView> <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:text="@string/hello_world" /> </RelativeLayout> ~~~~~~~~ XMLは上のような感じになる。 もう一つのやりかたは、LinearLayoutを用いてテキスト部とボタン部を2分割する方法だ。こちらの方がやりやすいかも知れない。面倒なのでXMLだけ。ポイントは、2分割する時に片方の高さをきっちり決め(ここではwrap_contentを使ってるけど)てweightを0にし、もう一方をmatch_parentにしてweightを1にするということだ。 ~~~~画面.xml~~~~ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" (省略) > <ScrollView android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" > <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/hello_world" /> </ScrollView> <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="0" android:text="@string/hello_world" /> </LinearLayout> いずれにせよ、ScrollViewを噛ましている理由はテキストがあふれた時も全部表示できてかつボタン側に浸食しないようにするためだ。

kgyqk433
質問者

お礼

>textviewとbuttonが配置されてる親コンテナは何かな。それによって方法は変わるんだぜ。 書き出しは、”ぜ”っという表現に驚きましたが、 ><LinearLayout xm >いずれにせよ、ScrollViewを噛ましている理由はテキストがあふれた時も全部表示できてか >つボタン側に浸食しないようにするためだ。 渋い、渋すぎます。。。 私が求めていた回答にプラスして、ScrollViewの知識まで!! 本当にありがとうございます。!!!

関連するQ&A

専門家に質問してみよう