如何对齐所有Android屏幕的图像视图

时间:2015-04-24 07:35:22

标签: android imageview alignment

我想对齐一个图像视图,对于Android选项卡屏幕,所有Android屏幕都显示相同的图像视图。当app在模拟器或实时设备上运行时,会注意到imageview的不同对齐方式。我如何正确对齐它们?

这是我的activity.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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
android:background="#fff" >

<ImageView
    android:id="@+id/forts"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_marginRight="150dp"
    android:src="@drawable/forts" />

<ImageView
    android:id="@+id/portal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/forts"
    android:layout_below="@+id/forts"
    android:src="@drawable/portal" />

<ImageView
    android:id="@+id/emergency"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/forts"
    android:layout_toRightOf="@+id/portal"
    android:src="@drawable/emergency" />

<ImageView
    android:id="@+id/aboutus"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/portal"
    android:layout_toLeftOf="@+id/emergency"
    android:src="@drawable/aboutus" />

<ImageView
    android:id="@+id/maps"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/emergency"
    android:layout_alignLeft="@+id/emergency"
    android:src="@drawable/maps" />

<ImageView
    android:id="@+id/mailus"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/emergency"
    android:layout_alignTop="@+id/aboutus"
    android:src="@drawable/mailus" />

</RelativeLayout>

3 个答案:

答案 0 :(得分:2)

您可以将变量dimen设置为不同的值文件夹

1:values    
    -dimens.xml    
     <dimen name="image_email_width">45dp</dimen>
        <dimen name="image_email_height">35dp</dimen>

2:values-xlarge
-dimens.xml   

     <dimen name="image_email_width">90dp</dimen>
        <dimen name="image_email_height">70dp</dimen>

然后将您的Imageview设置为

<ImageView
    android:id="@+id/portal"
    android:layout_width="@dimens/image_email_width"
    android:layout_height="@dimens/image_email_height"
    android:layout_alignLeft="@+id/forts"
    android:layout_below="@+id/forts"
    android:src="@drawable/portal" />

答案 1 :(得分:1)

使用不同类型的图像,即ldpi,mdpi,hdpi,xhdpi,xxhdpi。

答案 2 :(得分:1)

对于不同的屏幕尺寸和不同的密度,图像会有所不同。 为了使图像适合imageview使用,

android:scaleType="fitXY" 

如果您希望您的imageview与所有设备类似,则需要为不同的屏幕尺寸创建不同的布局文件夹,并为不同的密度创建不同的图像,如ldpi,hdpi,mdpi。