如何在分辨率中心显示图像

时间:2014-10-29 08:09:16

标签: android xml layout alignment

我有一个布局,其中一个内部不在中心,它只发生在少数分辨率设备,而在少数它完全在中心。下面是代码和截图

<ImageView android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:gravity="center"
                android:src="@drawable/thank" android:paddingTop="10dip"
                android:paddingBottom="10dip"/>

代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/splash_layout"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent"
    android:gravity="center" android:orientation="vertical"
    android:background="@drawable/background">

    <ImageView android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:gravity="center_horizontal"
        android:src="@drawable/logo" android:paddingTop="10dip"
        android:paddingBottom="10dip" />

     <RelativeLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <ImageView android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:gravity="center"
            android:src="@drawable/thank" android:paddingTop="10dip"
            android:paddingBottom="10dip"/>

        <com.teleca.sam.ui.Copyright
            android:layout_width="fill_parent" android:layout_height="fill_parent"
            android:gravity="bottom|center"/>
    </RelativeLayout>
</LinearLayout>

3 个答案:

答案 0 :(得分:2)

如果您使用LinearLayout

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView"
        android:layout_gravity="center_horizontal"
        android:src="@drawable/ic_launcher" />
</LinearLayout>

如果您使用RelativeLayout

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView"
        android:src="@drawable/ic_launcher"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true" />
</RelativeLayout>

答案 1 :(得分:1)

因为你的ImageView在RelativeLayout中,你应该使用

android:layout_centerInParent="true"

而不是

android:gravity="center"
标签中的

答案 2 :(得分:0)

RelativeLayout可能就是这个原因。请尝试使用线性布局。