这里我正在尝试为Android应用创建一个用户界面。我顶部有几个按钮和徽标。在设计应用程序时,我发现按钮底部的空白区域。我想使用那个空间,以便所有按钮在空白区域内正确对齐。按钮的设计从设备屏幕的标志到按钮的下方。
Main.axml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#0B95BA"
android:id="@+id/relativeLayout_container">
<ImageView
android:layout_width="match_parent"
android:layout_height="87.5dp"
android:layout_alignParentTop="true"
android:scaleType="fitXY"
android:gravity="center"
android:paddingLeft="10dp"
android:src="@drawable/LogoHere"
android:id="@+id/imgLogoHere"
android:layout_marginBottom="0.0dp"
android:layout_marginLeft="0.0dp" />
<ScrollView
android:id="@+id/scrollView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/bottom_container"
android:layout_below="@id/imgLogoHere"
android:fillViewport="false"
android:orientation="vertical"
android:padding="10dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_below="@id/scrollView">
<Button
android:id="@+id/btnVisit"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:textSize="15sp"
android:textColor="#FFFFFF"
android:background="@drawable/ButtonStyle"
android:text="Visit"
android:layout_marginTop="5dp" />
<Button
android:text="Our"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:textSize="15sp"
android:textColor="#FFFFFF"
android:background="@drawable/ButtonStyle"
android:id="@+id/btnOur"
android:layout_marginTop="5dp" />
<Button
android:text="Ours"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:textSize="15sp"
android:textColor="#FFFFFF"
android:background="@drawable/ButtonStyle"
android:id="@+id/btnOurs"
android:layout_marginTop="5dp" />
<Button
android:text=" Contact Us"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:textSize="15sp"
android:textColor="#FFFFFF"
android:background="@drawable/ButtonStyle"
android:id="@+id/btnContactUs"
android:layout_marginTop="5dp" />
<Button
android:text="Test"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:id="@+id/btnTest"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:textSize="15sp"
android:textColor="#FFFFFF"
android:background="@drawable/ButtonStyle"
android:layout_marginTop="5dp" />
<Button
android:id="@+id/btnView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:textSize="15sp"
android:textColor="#FFFFFF"
android:background="@drawable/ButtonStyle"
android:text="View"
android:layout_marginTop="5dp" />
<Button
android:id="@+id/btnOrderEntry"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:textSize="15sp"
android:textColor="#FFFFFF"
android:background="@drawable/ButtonStyle"
android:text="Order Entry"
android:layout_marginTop="5dp" />
<Button
android:id="@+id/btnIntranet"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:textSize="15sp"
android:textColor="#FFFFFF"
android:background="@drawable/ButtonStyle"
android:text="Intranet"
android:layout_marginTop="5dp" />
</LinearLayout>
</ScrollView>
<LinearLayout
android:id="@+id/bottom_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal" />
</RelativeLayout>
表单图像更清晰我希望在任何设备上的空白区域显示按钮,这样用户就不会感到不舒服。使用该应用程序。
或者请建议我可以在屏幕上加载UI并且无论设备分辨率如何都能动态显示。
先谢谢
答案 0 :(得分:2)
添加
android:layout_margin="10dp"
或android:layout_margin="12dp"
对于每个Button
。
请参阅此内容。
<Button
android:id="@+id/btnIntranet"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:layout_weight="1"
android:layout_margin="10dp"
android:background="@mipmap/ic_launcher"
android:text="Intranet"
android:textColor="#FFFFFF"
android:textSize="15sp" />
对所有
Buttons
执行相同操作。
答案 1 :(得分:1)
更改
android:fillViewport="false"
到
android:fillViewport="true"
滚动浏览中的。您不允许scrollView
填充设备屏幕,这就是您看到空白的原因。
答案 2 :(得分:1)
由于您的布局非常线性,因此最好使用LinearLayout
作为根标记。
<LinearLayout
android:orientation="vertical"
other attributes here...>
</LinearLayout>
这意味着您可以删除其子项的所有相对布局相关内容,例如layout_below
。
在图片视图中添加weight
,并将其设置为2或任何其他看起来不错的数字。当然,将其高度设置为0dp。
在滚动视图中添加权重。我认为8会好的。同时将高度设置为0dp
将线性布局的高度(滚动视图中的高度)更改为match_parent
。
我认为应该这样做。
答案 3 :(得分:1)
您可以根据不同的屏幕分辨率从java代码控制窗口小部件布局属性。
DisplayMetrics displayMetrics = getActivity().getApplicationContext().getResources().getDisplayMetrics();
float screenHeight = displayMetrics.heightPixels / displayMetrics.density;
float requiredHeight = (screenHeight * 1) / 8;
final float scale = context.getResources().getDisplayMetrics().density;
int buttonHeight = (int) ((int) requiredHeight * scale + 0.5f);
buttonName.setHeight(buttonHeight );
设置所有按钮的高度属性。