I want to show a button under a ListView
. Problem is, if the ListView
gets extended (items added...), the button is pushed out of the screen.
I tried a LinearLayout
with weights (as suggested in Android: why is there no maxHeight for a View?), but either I got the weights wrong or it simply didn't work.
Also, I found somewhere the hint to use a RelativeLayout
. The ListView
would then be set above the button with the android:layout_above
param.
Problem with this is that I don't know how to position the button afterwards. In the example I found, the View below the ListView
was adjusted using android:layout_alignParentBottom
, but I don't want my button to cling to the bottom of the screen.
Any ideas apart from using setHeight-method and some calculating of the required space?
Edit:
I got a lot of useful answers.
bigstone's & user639183's solution almost worked perfectly. However, I had to add an extra padding/margin to the bottom of the button, as it still would be pushed half way out of the screen (but then stopped)
Adinia's answer with the relative layout only is fine if you want the button fixed to the bottom of the screen. It's not what I intended but still might be useful for others.
AngeloS's solution was the one I chose at the end as it just created the effects I wanted. However, I made two minor changes to the LinearLayout
around the button:
First, as I didn't want to have any absolute values in my layout, I changed android:layout_height="45px"
to wrap_content
, which works just fine as well.
Second, as I wanted the button to be centered horizontally, which is only supported by vertical LinearLayout
, I changed android:orientation="horizontal" to "vertical".
AngeloS also stated in his initial post that he was not sure if the android:layout_weight="0.1"
param in the LinearLayout
around the ListView
had any effect; I just tried and it actually does! Without, the button gets pushed out of the screen again.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…