如何在 2 种不同的布局之间设置 `ImageView`

How to set an `ImageView` between 2 different layouts

首先 ;我不能说出我的问题。因为我的英语程度不足以讲述这些。所以检查我的图像以了解我。顺便说一下,对此感到抱歉。

我想在两个不同的layouts.You之间设置ImageView可以看到,第一个没有ImageView。第二个有一个红色框( ImageView )。我怎样才能将它写到我的布局中?

这是我的布局代码。

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



    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_marginTop="15dp"
        android:paddingLeft="20dp"

        >
        <TextView
            android:textStyle="bold"
            android:textColor="#FFFFFF"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Gönderi:"
            android:layout_marginLeft="60dp"

            />
        <TextView
            android:textStyle="bold"
            android:textColor="#FFFFFF"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Takip edilen"
            android:layout_marginLeft="20dp"
            />
        <TextView
            android:textStyle="bold"
            android:textColor="#FFFFFF"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Takipçi"
            android:layout_marginLeft="20dp"
            />



    </LinearLayout>


    <LinearLayout
        android:layout_marginTop="8dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="75dp"
        android:paddingLeft="25dp"
        >
        <TextView
            android:textStyle="bold"
            android:textColor="#FFFFFF"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="0"/>
        <TextView
            android:textStyle="bold"
            android:textColor="#FFFFFF"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="0"
            android:layout_marginLeft="87dp"/>

        <TextView
            android:textColor="#FFFFFF"
            android:textStyle="bold"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="0"
            android:layout_marginLeft="70dp" />





    </LinearLayout>









</LinearLayout>





    <LinearLayout
        android:layout_width="match_parent"
        android:orientation="horizontal"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:layout_marginLeft="60dp">




        <ImageView
            android:layout_marginLeft="50dp"
            android:id="@+id/telefon_arama_ImageView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
android:background="@drawable/cla"
            />

        <TextView
            android:id="@+id/telefon_numarasi"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="5"
            android:text="numaram"
            android:layout_marginLeft="20dp"
            android:textStyle="bold"/>
    </LinearLayout>

 <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="37dp"
    android:orientation="horizontal"
    android:background="@drawable/radyan"
    >

    <ImageView
        android:id="@+id/btn_group"
        style="@style/Widget.AppCompat.Button.Borderless"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:src="@drawable/kedi"
        />

    <ImageView
        android:id="@+id/btn_sing"
        style="@style/Widget.AppCompat.Button.Borderless"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/bulok"
        />

    <Button
        android:id="@+id/profil_btn_duzenle"
        style="@style/Widget.AppCompat.Button.Borderless"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:gravity="center"
        android:text="Düzenle"
        android:textAllCaps="false"
        android:textSize="11sp" />


    <Button
        android:id="@+id/profil_cikis"
        style="@style/Widget.AppCompat.Button.Borderless"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:gravity="center"
        android:text="Çıkış"

        android:textAllCaps="false"
        android:textSize="13sp" />

</LinearLayout>


<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">


        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Hakkımda :"
            android:textStyle="bold"
            android:textSize="11dp"/>

        <TextView
            android:id="@+id/Hakkında_bakıs_TextView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="14dp"
            android:text="bafbafgfdafadfad"
            android:textStyle="italic|bold"
            />


    </LinearLayout>
</ScrollView>

如您在屏幕截图中所示,您希望通过放置另一个图像视图来重叠图像视图,这可以使用相对布局来完成。

我将您的根布局更改为 "RelativeLayout"。检查 xml 你会明白我做了什么,这很容易。如果您有任何问题,请告诉我,我会写详细的解释。

您可以在此处了解有关 android 用户界面设计布局的更多信息 https://www.youtube.com/watch?v=OQ5ao6PGCAs

<?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"
    android:orientation="vertical">

    <LinearLayout
        android:id="@+id/linearlayout_banner"
        android:layout_width="match_parent"
        android:layout_height="160dp"
        android:background="@drawable/porfoy_resmi777"
        android:orientation="vertical">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="15dp"
            android:orientation="horizontal"
            android:paddingLeft="20dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="60dp"
                android:text="Gönderi:"
                android:textColor="#FFFFFF"
                android:textStyle="bold" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20dp"
                android:text="Takip edilen"
                android:textColor="#FFFFFF"
                android:textStyle="bold" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20dp"
                android:text="Takipçi"
                android:textColor="#FFFFFF"
                android:textStyle="bold" />


        </LinearLayout>


        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="75dp"
            android:layout_marginTop="8dp"
            android:paddingLeft="25dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="0"
                android:textColor="#FFFFFF"
                android:textStyle="bold" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="87dp"
                android:text="0"
                android:textColor="#FFFFFF"
                android:textStyle="bold" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="70dp"
                android:text="0"
                android:textColor="#FFFFFF"
                android:textStyle="bold" />


        </LinearLayout>


    </LinearLayout>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/linearlayout_banner"
        android:layout_marginLeft="16dp"
        android:layout_marginTop="-40dp"
        android:orientation="horizontal">

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

            <ImageView
                android:id="@+id/telefon_arama_ImageView"
                android:layout_width="120dp"
                android:layout_height="120dp"
                android:layout_weight="1"
                android:background="@drawable/cla" />
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="50dp">

            <TextView
                android:id="@+id/telefon_numarasi"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20dp"
                android:layout_weight="5"
                android:text="numaram"
                android:textStyle="bold" />
        </RelativeLayout>
    </LinearLayout>

</RelativeLayout>

您应该为此使用 RelativeLayout 而不是 LinearLayout。 LinearLayout 首先沿 X(水平方向)或 Y(垂直方向)使用最老的 child。 RelativeLayout 沿 Z 轴排序 children(即,将 children 彼此重叠)。由于需要叠加图片,所以需要使用RelativeLayout。最简单的方法是将图像放在代码中。快速 Google 搜索应该会给你几个例子。为了给您一个想法,您需要将根 LinerLayout 替换为 RelativeLayout。

// Then get reference to this in code
RelativeLayout rl = (RelativeLayout) findViewById(R.id.my_relative_layout);

// Then you can place your image wherever you want
// You will have to provide the dp values of the coordinates
ImageView iv = new ImageView(this);
iv.setBackgroundColor(Color.RED);
params = new RelativeLayout.LayoutParams(30, 40);
params.leftMargin = 50;
params.topMargin = 60;
rl.addView(iv, params);

以下 Whosebug 答案对此有更多详细信息:Set the absolute position of a view