在设计Android界面时,我的初始画布应该是多大?

时间:2011-12-06 07:16:40

标签: android

设计android界面时,我的初始画布应该是多大?我想制作一个兼容各种类型屏幕的布局 - 是否可以从特定的大型设计开始,然后从那里缩小?即,960x720?

2 个答案:

答案 0 :(得分:2)

您可以尝试获取屏幕尺寸:

    Display display = getWindowManager().getDefaultDisplay();
    int width = display.getWidth();
    int height = display.getHeight();

方向:

public int getScreenOrientation() {
    if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
        return 1; // Portrait Mode
    }else if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
        return 2;   // Landscape mode
    }
    return 0;
}

答案 1 :(得分:0)

尽量避免布局中固定数量的像素。 例如,此代码将绘制两个按钮,每个按钮的宽度为屏幕的一半:

<LinearLayout 
    android:id="@+id/Tab1_Buttonline1" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <Button 
        android:id="@+id/function_datasync" 
        android:layout_width="wrap_content" 
        android:text="Daten Sync"
        android:layout_height="wrap_content" 
        android:layout_weight="1"
        android:layout_margin="5dip" 
        android:textAppearance="?android:attr/textAppearanceLargeInverse" 
        android:maxLines="1">
    </Button>
    <Button 
        android:id="@+id/function_docsync" 
        android:layout_width="wrap_content" 
        android:text="Datei Sync"
        android:layout_height="wrap_content" 
        android:layout_weight="1"
        android:layout_margin="5dip"
        android:textAppearance="?android:attr/textAppearanceLargeInverse" 
        android:maxLines="1">
    </Button>
</LinearLayout>

您也可以使用drawable-hdpi / -mdpi或-ldpi foders为不同的分辨率定义不同的布局,以便定义不同的drawable。

最后但并非最不重要的,如果您被迫设置控件的特定高度或重量,例如。

android:layout_margin="5dip"

由于“下降”,现在每个分辨率的边距都会相似。