长宽比的麻烦

时间:2013-05-11 11:06:44

标签: java android xml

我在320X480手机上测试我的应用程序,一切看起来都不错,但这是用户的HTC ONE X的屏幕,看起来非常糟糕。它应该看起来就像那样,但在整个屏幕上。

https://www.dropbox.com/s/xc4sjq6e1yo3xkv/Screenshot_2013-05-11-12-11-08.png

这是我的XML:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@drawable/background" >

    <TextView
        android:id="@+id/tvKviz"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="5dp"
        android:text="Kviz opšte kulture!"
        android:textSize="35sp" />

    <Button
        android:id="@+id/bStart"
        android:layout_width="170dp"
        android:layout_height="48dp"
        android:padding="0dp"
        android:layout_gravity="center"
        android:layout_marginTop="15dp"
        android:background="@drawable/buttons"
        android:text="Start"
        android:textSize="26sp" />

    <Button
        android:id="@+id/bTopScores"
        android:layout_width="170dp"
        android:layout_height="48dp"
        android:padding="0dp"
        android:layout_gravity="center"
        android:layout_marginTop="10dp"
        android:background="@drawable/buttons"
        android:text="Tabela"
        android:textSize="26sp" />

        <Button
            android:id="@+id/bPodesavanja"
            android:layout_width="170dp"
            android:layout_height="48dp"
            android:padding="0dp"
            android:layout_gravity="center"
            android:layout_marginTop="10dp"
            android:background="@drawable/buttons"
            android:text="Podešavanja"
            android:textSize="26sp" />

                <Button
                    android:id="@+id/bPravila"
                    android:layout_width="170dp"
                    android:layout_height="48dp"
                    android:padding="0dp"
                    android:layout_gravity="center"
                    android:layout_marginTop="10dp"
                    android:background="@drawable/buttons"
                    android:text="Pravila"
                    android:textSize="26sp" />

                <Button
                    android:id="@+id/bKontakt"
                    android:layout_width="170dp"
                    android:layout_height="48dp"
                    android:padding="0dp"
                    android:layout_gravity="center"
                    android:layout_marginTop="10dp"
                    android:background="@drawable/buttons"
                    android:text="Kontakt"
                    android:textSize="26sp" />

                 <Button
                     android:id="@+id/bIzlaz"
                     android:layout_width="170dp"
                     android:layout_height="48dp"
                     android:padding="0dp"
                     android:layout_gravity="center"
                     android:layout_marginTop="10dp"
                     android:background="@drawable/buttons"
                     android:text="Izlaz"
                     android:textSize="26sp" />

                 <com.google.ads.AdView
                     android:id="@+id/adViewMenu"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginTop="20dp"
                     ads:adSize="BANNER"
                     ads:adUnitId="a1518a6ce0420ab"
                     ads:loadAdOnCreate="true" />

</LinearLayout>

1 个答案:

答案 0 :(得分:1)

以下是布局示例。使用权重来确定大小应该可以帮助您实现您想要的目标。如果您对不同的屏幕尺寸没有不同的图像,使用称重可能会有所帮助。

<LinearLayout 
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"></LinearLayout>
    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="10"
        android:orientation="horizontal">
        <LinearLayout 
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"></LinearLayout>
        <LinearLayout 
            android:id="@+id/btn_container"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <!-- put you buttons in here, and use weights for balancing the menu -->
        </LinearLayout>
        <LinearLayout 
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"></LinearLayout>
    </LinearLayout>
    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"></LinearLayout>
</LinearLayout> 

我希望这会有所帮助。我知道这不是最好的方法,但对于像你需要的那样简单的布局应该可以胜任。