Android layout_weight / max-size / advice

时间:2012-01-02 00:17:58

标签: android xml eclipse text-size max-size

在过去几天我疯了之后,我在StackOverflow上看到了很多不同的页面,但不是我想要的装扮:(

我想为Android手机创建一个拼图,或者更好:所有Android设备。

  1. 我应该专注于让这个应用程序兼容所有Android设备,包括(非常小)2,7“和真正大(7”+)设备?或者我应该坚持使用“看起来很好并且工作”的应用程序3.2“直到4.7”?

  2. 更大的屏幕有更多空间,因此屏幕文字可以更大。如何自动让应用程序设置正确的屏幕文本?到目前为止,我已经创建了下面的代码。使用sp作为文字大小虽然似乎没有做太多。

  3. 如果您建议我将该应用设置为平板电脑,我如何设置下方来源按钮的最大宽度,但最小权重为90%

    <Button
        android:id="@+id/BTN_StartGame"
        android:layout_width="250dp"
        android:layout_height="30dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:background="@drawable/mainbutton"
        android:text="@string/BTN_StartGame"
        android:textColor="@color/White"
        android:textSize="16sp" />
    
    <Button
        android:id="@+id/BTN_Settings"
        android:layout_width="250dp"
        android:layout_height="30dp"
        android:layout_marginTop="50dp"
        android:background="@drawable/mainbutton"
        android:text="@string/BTN_Settings"
        android:textColor="@color/White"
        android:textSize="16sp" />
    
    <Button
        android:id="@+id/BTN_Tutorial"
        android:layout_width="110dp"
        android:layout_height="30dp"
        android:layout_marginTop="100dp"
    
        android:background="@drawable/mainbutton"
        android:text="@string/BTN_Tutorial"
        android:textColor="@color/White"
        android:textSize="16sp" />
    
    <Button
        android:id="@+id/BTN_Rules"
        android:layout_width="110dp"
        android:layout_height="30dp"
        android:layout_marginTop="100dp"
        android:layout_alignParentRight="true"
        android:background="@drawable/mainbutton"
        android:text="@string/BTN_Rules"
        android:textColor="@color/White"
        android:textSize="16sp" />
    
    <Button
        android:id="@+id/BTN_About"
        android:layout_width="250dp"
        android:layout_height="30dp"
        android:layout_marginTop="230dp"
        android:background="@drawable/mainbutton"
        android:text="@string/BTN_About"
        android:textColor="@color/White"
        android:textSize="16sp" />
    

1 个答案:

答案 0 :(得分:0)

Android设备种类非常不同,从非常小的时钟(Motoactv)到大型平板电脑,如Samsung Galaxy 10.1。简而言之,为所有这些非常不同的设备开发像拼图这样的应用程序没有多大意义。为什么不选择最适合您的游戏机制的设备类型,也可以为其他设备类型开发另一个版本,以后再使用增强的机制?通过这种方式,您可以利用不同的特征来创建更好的用户体验。

对于“正确的屏幕文本大小”,您可以为不同的屏幕大小创建多个style.xml文件,并在那里定义相应的文本样式。然后,您可以创建所需的value-<screensize>文件夹,并将这些文件放在那里。有关详细信息,请阅读the Dev Guide on Providing Alternative Resources

希望这有帮助,