调整低分辨率屏幕的视图

时间:2014-02-07 18:01:18

标签: android layout view resolution

我测试了我的应用程序,我在过去两个月里开发的总是在5英寸的智能手机上。现在,我在显示我的观点的所有内容时遇到了很大的问题。

首先,这是我的xml:

<FrameLayout  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=".MainActivity" 


    android:background="@drawable/bg">



<TableLayout

    android:layout_width="match_parent"
    android:layout_height="match_parent">


    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/willi"
        />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="70dp"


        android:background="@drawable/willi"
         />

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
    android:layout_marginLeft="140dp"
        android:background="@drawable/willi"
/>

    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
    android:layout_marginLeft="210dp"

        android:background="@drawable/willi"
         />


    </TableRow>


    <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:layout_marginTop="90dp">



         <Button
        android:id="@+id/button5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:background="@drawable/willi"
        />

    <Button
        android:id="@+id/button6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="70dp"
        android:background="@drawable/willi"
   />

    <Button
        android:id="@+id/button7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="140dp"
        android:background="@drawable/willi"
         />

    <Button
        android:id="@+id/button8"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="210dp"
        android:background="@drawable/willi"
         />

        </TableRow>
       <TableRow
        android:id="@+id/tableRow3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="90dp" >


       <Button
        android:id="@+id/button9"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:background="@drawable/willi" />
    <Button

        android:id="@+id/button10"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="70dp"
        android:background="@drawable/willi"  />

    <Button
        android:id="@+id/button11"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="140dp"
        android:background="@drawable/willi"  />

    <Button
        android:id="@+id/button12"
        android:layout_marginLeft="210dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:background="@drawable/willi" />

    </TableRow>



              <TableRow
        android:id="@+id/tableRow4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="90dp" >


       <Button
        android:id="@+id/button13"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:background="@drawable/willi" />
    <Button

        android:id="@+id/button14"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="70dp"
        android:background="@drawable/willi"  />

    <Button
        android:id="@+id/button15"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="140dp"
        android:background="@drawable/willi"  />

    <Button
        android:id="@+id/button16"
        android:layout_marginLeft="210dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:background="@drawable/willi" />

    </TableRow>

      <TableRow
        android:id="@+id/tableRow5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="90dp" >


       <Button
        android:id="@+id/button17"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:background="@drawable/willi" />
    <Button

        android:id="@+id/button18"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="70dp"
        android:background="@drawable/willi"  />

    <Button
        android:id="@+id/button19"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="140dp"
        android:background="@drawable/willi"  />

    <Button
        android:id="@+id/button20"
        android:layout_marginLeft="210dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:background="@drawable/willi" />

    </TableRow>

    <TableRow
        android:id="@+id/tableRow6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="90dp" >


       <Button
        android:id="@+id/button21"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:background="@drawable/willi" />
    <Button

        android:id="@+id/button22"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="70dp"
        android:background="@drawable/willi"  />

    <Button
        android:id="@+id/button23"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="140dp"
        android:background="@drawable/willi"  />

    <Button
        android:id="@+id/button24"
        android:layout_marginLeft="210dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:background="@drawable/willi" />


    </TableRow>

    </TableLayout>

<TextView
        android:id="@+id/tvPunktewaehrend"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:textStyle="bold"
        android:layout_gravity="center_horizontal"
        android:textColor="@color/white"
        android:textSize="20sp"
        android:text=" " />


</FrameLayout>

就像你看到的那样,我有6个表行,每行有4个按钮。在HTC Wildfire上,我看到第五行非常小,第六行不在我看来。 如何为小屏幕解决此问题?

3 个答案:

答案 0 :(得分:0)

更改垂直TableLayout的{​​{1}},给它一个weightSum。然后将水平LinearLayout添加到LinearLayouts作为孩子的Buttons。对于父LinearLayout,使用weightSum和子LinearLayout使用权重。

因此对于6行,你有weightSum 6和每个LinearLayout身高0dp和权重1.

答案 1 :(得分:0)

您可以使用 ScrollView 作为主布局,并且无需修改按钮的大小和所有内容,就像您可以移动滚动条,我用它我认为应用程序的屏幕尺寸不同。我希望你服务好。

答案 2 :(得分:0)

  

我看到第五行非常小,第六行不在我看来。   如何为小屏幕解决这个问题?

因此,您可以使用dimens.xml文件,通过查看不同分辨率的布局,您可以根据需要放置填充/边距等属性。

dimens.xml的内容可以是:

<resources>

    <!-- Default screen margins, per the Android Design guidelines. -->
    <dimen name="activity_horizontal_margin">16dp</dimen>
    <dimen name="activity_vertical_margin">16dp</dimen>

</resources>

根据您的屏幕尺寸/分辨率,您必须将此文件设为:

res/values/dimens.xml

res/values-hdpi/dimens.xml

res/values-mdpi/dimens.xml

res/values-sw360dp-hdpi/dimens.xml

res/values-sw360dp-long-xhdpi/dimens.xml

res/values-sw600dp/dimens.xml

res/values-sw720dp-land/dimens.xml

要使用此值: 对于例如 你的表行1&gt;按钮2: 放

android:layout_marginLeft="@dimen/activity_horizontal_margin"

而不是

android:layout_marginLeft="70dp"