嗨,我正在开发一个在 android 上的应用程序,我有一些布局,我希望有一个可以填充screen-width
横向模式的图像。最重要的是,我想要一些特定位置的按钮。
我使用了一个scrollview
(因为如果图像填充了屏幕的宽度,它的高度就不适合),其中有一个相对布局。
在那个相对布局中,我放置了imageview
和 按钮。图像填充宽度并包装高度的内容。通过在相对布局中设置左边距和上边距来放置按钮。
在我测试过的手机上一切看起来都不错,但是当我在不同的设备(其他屏幕尺寸和密度)上测试时,所有按钮都在错误的位置并且不再足够大。
我怎样才能改变这一点,使所有比例保持不变?与图像相比,按钮必须位于完全相同的位置并且必须具有相同的大小。
我的代码:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/svCentralAmerica"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fillViewport="true" >
<RelativeLayout
android:id="@+id/rlCentralAmerica"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/ivCentralAmerica"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:adjustViewBounds="true"
android:src="@drawable/mapcentralamerica" />
<Button
android:id="@+id/mexu"
android:layout_width="36dp"
android:layout_height="36dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="16dp"
android:layout_marginTop="33dp"
android:background="@drawable/usa_y"
android:onClick="onCountryClick"
android:paddingTop="3dp"
android:scaleType="fitCenter"
android:tag="1;U"
android:text="2"
android:textColor="@color/Black"
android:textSize="15sp"
android:textStyle="bold" />
<Button
android:id="@+id/mexr"
android:layout_width="36dp"
android:layout_height="36dp"
android:layout_alignTop="@id/mexu"
android:layout_marginLeft="4dp"
android:layout_toRightOf="@id/mexu"
android:background="@drawable/russia_n"
android:onClick="onCountryClick"
android:paddingTop="18dp"
android:scaleType="fitCenter"
android:tag="1;R"
android:text="3"
android:textColor="@color/Red"
android:textSize="15sp"
android:textStyle="bold" />
</RelativeLayout>
</ScrollView>