0

I put 2 buttons, with wrap_content size, but as device is bigger, buttons are upper, I cannot figure how to fix them, so on all devices to have the same position. Is there a solution not to cover the head of this guy, as example.

enter image description here

Layout.xml

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

     <Button
         android:id="@+id/button1"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignParentLeft="true"
         android:layout_alignParentTop="true"
         android:layout_marginTop="102dp"
         android:background="@drawable/custom_button1" />

     <Button
         android:id="@+id/button2"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignParentLeft="true"
         android:layout_below="@+id/button1"
         android:background="@drawable/custom_button2" />

</RelativeLayout>
4

3 に答える 3

0

Android は、画面解像度の異なる複数のデバイスで実行されています。それらすべてをサポートする方法は次のとおりです。 複数の画面のサポート

基本的に、次の画面解像度があります。

xlarge screens are at least 960dp x 720dp
large screens are at least 640dp x 480dp
normal screens are at least 470dp x 320dp
small screens are at least 426dp x 320dp

ここに画像の説明を入力

それらすべてをサポートするには、Resフォルダーに、サポートする画面に応じてフォルダーを作成する必要があります。

layout-xlarge
layout-large
layout-normal
layout-small

その後、最終的なlayout_file.xmlをそれらすべてにコピーし、グラフィカルモードで開き、ボタンを再配置して画面上で見栄えを良くします。画面の解像度に応じて、Android はデバイスの解像度に近いレイアウトを選択します。さまざまなデバイスまたは仮想デバイスでテストして、見栄えが良いことを確認してください。

于 2013-09-03T06:21:35.870 に答える
0

アプリの起動時にすべてのビューがデバイスの画面全体をカバーするようにするには、LinearLayout の重みが必要です。

<LinearLayout 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"
    android:background="@drawable/background"
    android:orientation="vertical"
    tools:context=".BasicScreenActivity">

     <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="0 dip" //this is important!
        android:layout_weight="5" //<-- add this
        android:layout_marginTop="102dp"
        android:background="@drawable/custom_button1" />

     <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="0 dip" //this is important!
        android:layout_weight="5" //<-- add this
        android:background="@drawable/custom_button2" />

</LinearLayout>

通常、重みの合計は 10 に等しいため、UI の計算と視覚化が容易になります。

于 2013-09-03T08:18:50.423 に答える