Android相对布局未正确显示图像

时间:2012-12-23 19:19:17

标签: android layout relative

我创建了android相对布局,其中,我试图在顶部栏和背景图像的活动四边显示四个图像。

topbar和背景图像正确显示。但是,在Nexus仿真器中只显示4个图像中,2个图像在仿真器中不可见,我将图像对齐左,右对齐,左对齐,右对齐。

只有左侧图像显示在仿真器的中央,两个右侧图像都不可见。

如何在显示屏上显示空间相等的所有图像。我的布局如下所示

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:background="@drawable/background"
        android:gravity="center_horizontal"
        android:orientation="vertical"
        tools:context=".MainActivity" >

        <ImageView
            android:id="@+id/topbannerimg"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="false"
            android:layout_alignParentTop="true"
            android:background="@drawable/topbanner"
            android:contentDescription="@string/topbar"
            android:src="@drawable/mtnlogotext" />

        <ImageView
            android:id="@+id/csrimg"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/topbannerimg"
            android:contentDescription="@string/csrstr"
            android:src="@drawable/customerservice" />

        <ImageView
            android:id="@+id/virtualstoreimg"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/topbannerimg"
            android:contentDescription="@string/virstr"
            android:src="@drawable/virtualstore" />

        <ImageView
            android:id="@+id/mtnstorelocatorimg"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/csrimg"
            android:contentDescription="@string/storestr"
            android:src="@drawable/storelocater" />

        <ImageView
            android:id="@+id/mtnviewimg"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/virtualstoreimg"
            android:layout_toRightOf="@+id/mtnstorelocatorimg"
            android:contentDescription="@string/viewstr"
            android:src="@drawable/mtnview" />

    </RelativeLayout>

3 个答案:

答案 0 :(得分:0)

我认为你试图保留五个图像中的一个,然后是两行,每个图像有2个图像。

我修改了你的代码。试试吧。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <ImageView
        android:id="@+id/topbannerimg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:background="@drawable/topbanner"
        android:contentDescription="@string/topbar"
        android:src="@drawable/mtnlogotext" />

    <RelativeLayout
        android:id="@+id/row1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/topbannerimg" >

        <ImageView
            android:id="@+id/csrimg"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:contentDescription="@string/csrstr"
            android:src="@drawable/customerservice" />

        <ImageView
            android:id="@+id/virtualstoreimg"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@id/csrimg"
            android:contentDescription="@string/virstr"
            android:src="@drawable/virtualstore" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/row2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/row1" >

        <ImageView
            android:id="@+id/mtnstorelocatorimg"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@id/csrimg"
            android:contentDescription="@string/storestr"
            android:src="@drawable/storelocater" />

        <ImageView
            android:id="@+id/mtnviewimg"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/virtualstoreimg"
            android:layout_toRightOf="@id/mtnstorelocatorimg"
            android:contentDescription="@string/viewstr"
            android:src="@drawable/mtnview" />
    </RelativeLayout>

</RelativeLayout>

答案 1 :(得分:0)

I have used android:layout_width="145dp" and  android:layout_height="100dp" in the images, now the layout is appearing correctly, with images placed in correct rows and columns


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:background="@drawable/background"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    android:padding="10dp"
    tools:context=".MainActivity" >

    <ImageView
        android:id="@+id/topbannerimg"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="false"
        android:layout_alignParentTop="true"
        android:background="@drawable/topbanner"
        android:contentDescription="@string/topbar"
        android:src="@drawable/mtnlogotext" />

    <ImageView
        android:id="@+id/csrimg"
        android:layout_width="145dp"
        android:layout_height="100dp"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/topbannerimg"
        android:contentDescription="@string/csrstr"
        android:src="@drawable/customerservice" />

    <ImageView
        android:id="@+id/virtualstoreimg"
        android:layout_width="145dp"
        android:layout_height="100dp"
        android:layout_below="@+id/topbannerimg"
        android:layout_alignParentLeft="false"
        android:layout_toRightOf="@+id/csrimg"
        android:contentDescription="@string/virstr"
        android:src="@drawable/virtualstore" />

    <ImageView
        android:id="@+id/mtnstorelocatorimg"
        android:layout_width="145dp"
        android:layout_height="100dp"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/csrimg"
        android:contentDescription="@string/storestr"
        android:src="@drawable/storelocater" />

    <ImageView
        android:id="@+id/mtnviewimg"
        android:layout_width="145dp"
        android:layout_height="100dp"
        android:layout_below="@+id/virtualstoreimg"
        android:layout_toRightOf="@+id/mtnstorelocatorimg"
        android:contentDescription="@string/viewstr"
        android:src="@drawable/mtnview" />

</RelativeLayout>

答案 2 :(得分:0)

我修改了你的代码,只是用你的实际图像替换图标图像....

<?xml version="1.0" encoding="utf-8"?>

    <ImageView
        android:id="@+id/topbannerimg"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="false"
        android:layout_alignParentTop="true"
        android:background="#222222"
        android:contentDescription="@string/topbar"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/csrimg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/topbannerimg"
        android:contentDescription="@string/csrstr"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/virtualstoreimg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/topbannerimg"
        android:contentDescription="@string/virstr"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/mtnstorelocatorimg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentBottom="true"
        android:contentDescription="@string/storestr"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/mtnviewimg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:layout_alignParentBottom="true"
        android:contentDescription="@string/viewstr"
        android:layout_alignParentRight="true"
        android:src="@drawable/ic_launcher" />

</RelativeLayout>

enter image description here

我不确定abt布局设计......所以上传图片你想要的布局......