我放了两个带有wrap_content大小的按钮,但是由于设备较大,按钮位于上方,我无法确定如何修复它们,所以在所有设备上都有相同的位置。例如,有没有解决方案不能覆盖这个人的头脑。
Layout.xml
<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"
android:background="@drawable/background"
tools:context=".BasicScreenActivity" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="102dp"
android:background="@drawable/custom_button1" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/button1"
android:background="@drawable/custom_button2" />
</RelativeLayout>
答案 0 :(得分:0)
//尝试下面的一个
#remove the margin top 102dp
#don't use button background image use color with white stroke
#make your button width as match parent and minheight= 100dp as ur need.
#add android:gravity="center" to your parent layout
<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"
android:background="@drawable/background"
android:gravity="center"
tools:context=".BasicScreenActivity" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:background="@android:color/holo_green_dark" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/button1"
android:background="@android:color/holo_green_dark" />
</RelativeLayout>
答案 1 :(得分:0)
Android在具有不同屏幕分辨率的多台设备上运行,以下是如何全部支持它们:Supporting Multiple Screens
基本上我们有以下屏幕分辨率:
xlarge screens are at least 960dp x 720dp
large screens are at least 640dp x 480dp
normal screens are at least 470dp x 320dp
small screens are at least 426dp x 320dp
为了支持所有这些,在 Res 文件夹中,我们必须根据我们想要支持的屏幕创建文件夹。
layout-xlarge
layout-large
layout-normal
layout-small
之后,将最终的layout_file.xml复制到所有这些文件,在图形模式下打开它,然后重新排列按钮,使其在屏幕上看起来很好看。根据分辨率屏幕,android将选择更接近设备分辨率的布局。只需在不同的设备或虚拟设备上进行测试,以确保它看起来不错。
答案 2 :(得分:0)
如果您希望在启动应用时覆盖设备的整个屏幕,您需要LinearLayout的重量
<LinearLayout 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"
android:background="@drawable/background"
android:orientation="vertical"
tools:context=".BasicScreenActivity">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="0 dip" //this is important!
android:layout_weight="5" //<-- add this
android:layout_marginTop="102dp"
android:background="@drawable/custom_button1" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="0 dip" //this is important!
android:layout_weight="5" //<-- add this
android:background="@drawable/custom_button2" />
</LinearLayout>
我的重量总和通常等于10,因此更容易计算和可视化UI