ImageView在Android的另一个imageview之上

时间:2014-09-06 05:14:10

标签: android image android-relativelayout

我在我的应用中设置了标题设置的导航抽屉(滑动菜单)。我正在为headerView.xml

尝试以下内容

enter image description here

我正在为特定网址的relativeLayout设置背景图片。相反,我想像下面的ImageView一样:

通过这样做我甚至可以使用毕加索库来获取从URL接收的背景图像。这样,图像加载速度更快,我不需要将背景保存到任何SD卡等。

enter image description here

这就是我现在所拥有的:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:id="@+id/LayoutforbgImage"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:adjustViewBounds="true"
  android:baselineAligned="false"
  android:orientation="horizontal" >

<LinearLayout
    android:id="@+id/LinearLayoutforImage"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingBottom="10dp"
    android:paddingLeft="5dp"
    android:paddingTop="10dp"
    tools:ignore="RtlSymmetry,RtlHardcoded" >

    <ImageView
        android:id="@+id/imageforprofile"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:src="@drawable/profilepic" />
</LinearLayout>

<TextView
    android:id="@+id/textforprofile"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/LinearLayoutforImage"
    android:gravity="left"
    android:paddingLeft="5dp"
    android:paddingTop="16dp"
    android:text="My Name My Name"
    android:textColor="#FFFFFF"
    android:textStyle="bold"
    tools:ignore="HardcodedText,RtlHardcoded,RtlSymmetry" />

<TextView
    android:id="@+id/textforprofileemail"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textforprofile"
    android:layout_toRightOf="@+id/LinearLayoutforImage"
    android:gravity="left"
    android:paddingBottom="10dp"
    android:paddingLeft="5dp"
    android:text="myname@abc.com"
    android:textColor="#FFFFFF"
    android:textStyle="bold"
    tools:ignore="HardcodedText,RtlHardcoded,RtlSymmetry" />

  </RelativeLayout>

我正在为布局设置背景图片:LayoutforbgImage 使用:

headerLayout = (RelativeLayout) header.findViewById(R.id.LayoutforbgImage );
BitmapDrawable background = new BitmapDrawable(decodeBase64(coverimage));
headerLayout.setBackgroundDrawable(background);

headerprofileimage = (ImageView) header.findViewById(R.id.imageforprofile);
Picasso.with(this).load(profileImage).placeholder(R.drawable.profilepic).error(R.drawable.profilepic).into(headerprofileimage);

如何为背景图像创建ImageView,使其完全适合上面指定的布局?

3 个答案:

答案 0 :(得分:2)

试试这个布局我希望它能帮到你

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"

            android:scaleType="fitXY"
            android:src="@drawable/top_header_bg" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:orientation="horizontal" >

            <ImageView
                android:id="@+id/imageView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20dp"
                android:src="@drawable/ic_launcher" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:gravity="center"
                android:layout_marginRight="20dp"
                android:orientation="vertical" >

                <TextView
                    android:id="@+id/textView2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="TextView" />

                <TextView
                    android:id="@+id/textView1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="TextView" />

            </LinearLayout>

        </LinearLayout>

    </RelativeLayout>

</LinearLayout>

答案 1 :(得分:1)

您可以尝试以下代码,它将帮助您我没有做任何更改。我只需将ImageView添加到您的布局中。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LayoutforbgImage"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:adjustViewBounds="true"
    android:baselineAligned="false"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/your_image"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:background="@drawable/top_bar" />

    <LinearLayout
        android:id="@+id/LinearLayoutforImage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingBottom="10dp"
        android:paddingLeft="5dp"
        android:paddingTop="10dp"
        tools:ignore="RtlSymmetry,RtlHardcoded" >

        <ImageView
            android:id="@+id/imageforprofile"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:src="@drawable/images12" />
    </LinearLayout>

    <TextView
        android:id="@+id/textforprofile"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/LinearLayoutforImage"
        android:gravity="left"
        android:paddingLeft="5dp"
        android:paddingTop="16dp"
        android:text="My Name My Name"
        android:textColor="#FFFFFF"
        android:textStyle="bold"
        tools:ignore="HardcodedText,RtlHardcoded,RtlSymmetry" />

    <TextView
        android:id="@+id/textforprofileemail"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textforprofile"
        android:layout_toRightOf="@+id/LinearLayoutforImage"
        android:gravity="left"
        android:paddingBottom="10dp"
        android:paddingLeft="5dp"
        android:text="myname@abc.com"
        android:textColor="#FFFFFF"
        android:textStyle="bold"
        tools:ignore="HardcodedText,RtlHardcoded,RtlSymmetry" />

</RelativeLayout>

答案 2 :(得分:0)

尝试这种方式希望它能解决您的问题

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <RelativeLayout
        android:id="@+id/topBarRelative"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true" >

        <ImageView
            android:id="@+id/imageHeader"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:adjustViewBounds="true"
            android:cropToPadding="false"
            android:src="@drawable/right_top_bg" />

        <ImageView
            android:id="@+id/imageforprofile"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:layout_marginLeft="9dp"
            android:src="@drawable/ic_launcher" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_marginRight="9dp"
            android:layout_toRightOf="@+id/imageforprofile"
            android:gravity="center"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/textforprofile"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="3dp"
                android:text="My Name My Name"
                android:textColor="#FFFFFF"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/textforprofileemail"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="myname@abc.com"
                android:textColor="#FFFFFF"
                android:textStyle="bold" />
        </LinearLayout>
    </RelativeLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/topBarRelative"
        android:layout_margin="8dp"
        android:background="@drawable/content_bg"
        android:orientation="vertical" >
    </LinearLayout>

</RelativeLayout>

Eclipse的屏幕截图