android एंड्रॉइड: लेआउट के बीच ओवरलैप पर ImageView रखने




android-layout android-xml (2)

मैं दो लेआउट्स के बीच ओवरलैप बिंदु पर एक ImageView रखने की कोशिश कर रहा हूं। नीचे दिए गए चित्र में, मेरा लक्ष्य ImageView को जगह देना होगा जहां सफेद वर्ग है नोट: ओवरलैप बिंदु अनिवार्य रूप से खड़ी होने पर केन्द्रित नहीं होगा जैसा कि नीचे दिखाया गया है

क्या यह XML में संभव है?

मेरा अभी अनुमान है कि यह वास्तविक कोड में ही करना है।

8/3/2016 को संपादित करें: संदर्भ के लिए, मुझे लगता है कि ConstraintLayouts इन प्रकार की समस्याओं के लिए सबसे अच्छा भविष्य समाधान हो सकता है http://tools.android.com/tech-docs/layout-editor


इस तरह से प्रयास करें, आशा है कि यह आपकी समस्या को हल करने में आपकी सहायता करेगा।

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

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

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1">

        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1">

        </LinearLayout>
    </LinearLayout>

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher"
        android:adjustViewBounds="true"
        android:layout_gravity="center"/>
</FrameLayout>

यह वही करेगा जो आप चाहते हैं, निश्चित ऊंचाई की एक छवि के साथ, या प्रोग्रामुसार गणना की जाए

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

    <RelativeLayout
        android:id="@+id/layoutTop"
        android:layout_width="match_parent"
        android:layout_height="200dp" >
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/layoutBottom"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_alignParentBottom="true"
        android:layout_below="@id/layoutTop" >
    </RelativeLayout>

    <ImageView
        android:id="@+id/overlapImage"
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:layout_above="@id/layoutBottom"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="-20dp" <!-- This should be always half the height, can also be calculated and added programtically -->
        android:adjustViewBounds="true"
        android:src="@drawable/ic_launcher" />

</RelativeLayout>




android-xml