Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android xml如何优化设备布局_Xml_Button_Layout_Screen Size - Fatal编程技术网

Android xml如何优化设备布局

Android xml如何优化设备布局,xml,button,layout,screen-size,Xml,Button,Layout,Screen Size,我已经做了一个简单的布局,但我有困难优化它为不同的屏幕大小。我已经使它在5.1设备上看起来很好,但在10.1上按钮太小,在3.2屏幕上按钮太大。我尝试过失败,对许多可能性感到沮丧,但似乎找不到任何可行的方法。如果您有任何想法,我们将不胜感激,谢谢。下面是我的基本布局代码,在5.1英寸屏幕上看起来不错 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://s

我已经做了一个简单的布局,但我有困难优化它为不同的屏幕大小。我已经使它在5.1设备上看起来很好,但在10.1上按钮太小,在3.2屏幕上按钮太大。我尝试过失败,对许多可能性感到沮丧,但似乎找不到任何可行的方法。如果您有任何想法,我们将不胜感激,谢谢。下面是我的基本布局代码,在5.1英寸屏幕上看起来不错

<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"
tools:context=".Home" 
android:background="@drawable/bg">

<Button 
    android:id="@+id/playB"
    android:layout_width="300dp"
    android:layout_height="85dp"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true
    android:background="@drawable/menu_button"/>

<Button 
    android:id="@+id/aboutB"
    android:layout_alignLeft="@+id/playB"
    android:layout_below="@+id/playB"
    android:layout_marginTop="45dp"        
    android:layout_width="300dp"
    android:layout_height="85dp"
    android:layout_centerHorizontal="true"
    android:background="@drawable/menu_button"/>

<Button 
    android:id="@+id/settingsB"
    android:layout_alignLeft="@+id/playB"
    android:layout_below="@+id/aboutB"
    android:layout_marginTop="45dp"  
    android:layout_width="300dp"
    android:layout_height="85dp"
    android:layout_centerHorizontal="true"
    android:background="@drawable/menu_button"/>


您为按钮使用了固定的
dp
大小,因此它们的大小将保持不变。这会使它们在小屏幕上显得太大,在大屏幕上显得太小。我强烈鼓励你学习如何设计。至于您的问题,您可以1)使用所需的按钮宽度与屏幕宽度的比率来设置按钮大小。这必须以编程方式完成,以检查设备维度;2) 为不同的屏幕创建不同的布局,例如。

使用dp是正确的方法。它不会是一个恒定的大小,因为AOS将根据屏幕密度使用倍增器缩放dps。(顺便说一句,它们是完全相同的)因此dps与密度无关。然而,通常缩放是不够的。因此,您需要为不同的屏幕创建单独的资源,我可能会说,在da$$中,支持多个屏幕是一个非常大的难题。似乎唯一正确的方法就是使用OpenGL
您可能会发现以下链接很有用:






谢谢所有我帮助过的人。对安卓来说有点陌生,所以很高兴有像你这样的人来帮助我。我知道很难获得不同屏幕的应用程序大小,但我也知道这会影响应用程序的声誉。再次感谢!!!当你能做到这一点时,别忘了选择答案。听起来不错。我可能会尝试找到如何正确编程布局。关于我在哪里可以找到关于这个主题的特定信息,有什么链接或想法吗?谢谢你的回复,非常感谢!!