虽然我通过几个线程解读了自己,解释了dp,sp,px等之间的差异,并试图获得良好的布局, 我还在努力为不同的手机做好准备。
我正在使用不同的片段,但是如果我在一个片段中得到帮助,那么我确信我能够自己修复其他片段。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
<!--all paddings=0-->
android:keepScreenOn="true"
tools:context=".MainActivity">
...
<fragment
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/fragmentBase"
class="...FragmentBase" />
<!--other fragments-->
</RelativeLayout>
因此,我试图在该fragmentBase中获得适当的布局,如下所示:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
<!--all paddings=0-->>
<fragment
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/fragmentBase"
class="...FragmentBase" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="400dp"
android:layout_marginTop="40dp"
android:requiresFadingEdge="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!--elements-->
</LinearLayout>
</ScrollView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="bottom">
<Button
android:layout_width="0dp"
android:layout_weight="0.8"
android:layout_height="40dp"
<!--other stuff-->/>
<Button
android:layout_width="0dp"
android:layout_weight="0.5"
android:layout_height="40dp"
<!--other stuff--> />
<Button
android:layout_width="0dp"
android:layout_weight="0.7"
android:layout_height="40dp"
<!--other stuff-->/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="bottom"
android:layout_marginBottom="40dp">
<Button
android:layout_width="0dp"
android:layout_weight="0.6"
android:layout_height="40dp"
<!--other stuff--> />
<Button
android:layout_width="0dp"
android:layout_weight="0.5"
android:layout_height="40dp"
<!--other stuff--> />
<Button
android:layout_width="0dp"
android:layout_weight="0.6"
android:layout_height="40dp"
<!--other stuff--> />
</LinearLayout>
</RelativeLayout>
SOOOOO。问题基本上是,滚动视图在某些情况下太长,在其他情况下太短。有一个固定的layout_height =&#34; 400dp&#34;似乎是个错误。 同时将两个按钮行的高度设置为40dp并且一个40dp高于另一个,从底部开始似乎都不是一个好的决定,但这些按钮得到了背景图像,所以我可以&# 39;使用wrap_content。
布局如何正确?我希望scrollView在我的&#34;标题&#34;下面开始,所以android:layout_marginTop =&#34; 40dp&#34;或多或少固定,而两个按钮应位于屏幕的最底部。 我想我希望scrollview是动态长度。
Plz帮助:S
答案 0 :(得分:0)
尝试将此代码添加到您的滚动视图
android:layout_toStartOf="@+id/linearlayout1"
和这个
android:id="@+id/linearlayout1"
到您的40边距布局
这可能会有所帮助
答案 1 :(得分:0)
我会尝试帮助你而不重写上面的所有代码。
首先,我将首先提出一些改变:
您可以将包含按钮的两个LinearLayouts的高度设置为40dp,并将按钮的高度设置为“match_parent”
您可以为包含按钮的两个LinearLayouts提供一个id,比如说
android:id="@+id/row1"
和
android:id="@+id/row2"
然后将底部(id = row2)设置为
android:layout_alignParentBottom="true"
最上面的一个(id = row1)
android:layout_above="@id/row2"
完成后,您可以在ScrollView中设置以下参数
android:layout_alignParentTop="true"
android:layout_above="@id/row1"
如果我理解了这个问题,这应该会有所帮助。希望我写的内容很有用