一部のビューを膨らませたいのですが、ビューの下部にボタンがあります。ビューを動的に膨らませてから、他の膨らませたビューの下にあるボタンを膨らませる方法をすでに知っています。ただし、膨らんだビューが数個しかない場合(結合されたビューのスペースが画面全体よりも少なくなるため)、ボタンはページの下部に表示されません。私の考えは、ボタンを次のように設定して、相対レイアウトの下部にボタンを配置する必要があるということです:android:layout_alignParentBottom(アプリがクラッシュしてもこれを実行しようとすると)
これが私が持っているもののスクリーンショットであり、続いて私が欲しいもののスクリーンショットがあります。あなたが見るすべてのアイテムは、相対的なレイアウトの内側にあるスクロールビューに膨らんでいます。問題は、ボタンがスクロールビューに膨らんでいることだと思います。スクロールビューは、アイテムがそれを強制するのと同じくらいの大きさです(残念ながら、ビューの別の部分に膨らませる方法を知るにはあまりにも初心者です)
左側の画像のコードは次のとおりです(左側のビューにはエラーがありません):parentView:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/blurybg"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ScrollView
android:layout_height="wrap_content"
android:id="@+id/scrollView1"
android:layout_width="fill_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id= "@+id/parent_of_inflated_view_id">
</LinearLayout>
</ScrollView>
</RelativeLayout>
childButton(他のビューはこれに似ています)
<?xml version="1.0" encoding="utf-8"?>
<Button
xmlns:android="http://schemas.android.com/apk/res/android"
android:height="30dp"
android:layout_width="fill_parent"
android:background="@drawable/done"
android:layout_alignBottom ="@layout/availablerestaurants"
/>
インフレータを作成し、ボタンを膨らませるためのJava。他のインフレートビューはこれに似ています(もちろん同じインフレータを使用します)。膨らんだボタンを最後に追加して、ビューの下部に表示します。
LayoutInflater theInflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
LinearLayout linLayout = (LinearLayout)findViewById(R.id.parent_of_inflated_view_id);
Button doneButtonCurrentRest= (Button) theInflater.inflate(R.layout.done_button_availrest, null);
linLayout.addView(doneButtonCurrentRest);
助けてくれてありがとう、アダム