سؤال

هل يمكننا وضع منظر صغير على منظر كبير آخر؟ على سبيل المثال ، لديّ VideoView يقوم بتشغيل ملف في الخلفية. على هذا ، في مكان ما في الوسط/الزاوية ، أريد وضع صورة أخرى.

ولكن في التصميم الخطي/النسبي ، يمكن وضع وجهات النظر واحدة فقط تلو الأخرى أو بالنسبة لبعضها البعض ، ويتم نصح الطبع المطلق. اذا ماذا افعل؟

هل كانت مفيدة؟

المحلول

FrameLayouts دعك تتراكم كل عرض فوق واحد أدناه. يمكن أيضًا تحقيق ذلك مع RelativeLayout.

نصائح أخرى

ال FrameLayout هو أبسط ViewGroup ويكدس Views بالترتيب الذي تم تعريفه في التخطيط XML (أو إضافة برمجيًا) ؛ الأول سيكون أقل ، والأخير سيكون في القمة.

هنا مثال حيث اثنان Views مكدسة وإزاحة لتوضيح النقطة بشكل أفضل:

enter image description here

هنا هو التخطيط الفعلي XML مع التداخل الاثنين TextView مربعات. يتم إزاحة المربعين باستخدام android:layout_gravity في حين android:gravity يستخدم لتوسيط النص نفسه داخل كل صندوق.

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

    <TextView
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_gravity="top|left"
        android:background="@android:color/holo_blue_light"
        android:gravity="center"
        android:text="First is below"/>

    <TextView
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_gravity="bottom|right"
        android:background="@android:color/holo_green_light"
        android:gravity="center"
        android:text=" Last is on top"/>

</FrameLayout>

فقط إذا كنت ترغب في وضع طريقة عرض فوق A ButtonView ثم استخدم هذا ؛android:elevation="7dp" للعرض الذي يجب وضعه أعلى الزر.

يمكنك أيضًا القيام بذلك باستخدام ConstraintLayout تخطيط جديد قدمه Google.

يتيح لك ConstraintLayout إنشاء تخطيطات كبيرة ومعقدة مع التسلسل الهرمي للمنظر المسطح (لا توجد مجموعات عرض متداخلة).

 <?xml version="1.0" encoding="utf-8"?>
  <android.support.constraint.ConstraintLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  xmlns:tools="http://schemas.android.com/tools"
  android:id="@+id/container"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical"
  android:layout_weight="4"
  tools:context="com.edalat.example.MainActivity">
  <VideoView
    android:id="@+id/videoView"
    android:layout_width="283dp"
    android:layout_height="349dp"
    app:layout_constraintBottom_toBottomOf="parent"
    android:layout_marginBottom="24dp"
    app:layout_constraintTop_toTopOf="parent"
    android:layout_marginTop="24dp"
    android:layout_marginRight="24dp"
    app:layout_constraintRight_toRightOf="parent"
    android:layout_marginLeft="24dp"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintHorizontal_bias="0.509"/>
  <ImageView
     android:id="@+id/imageView"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     app:srcCompat="@mipmap/ic_launcher"
     app:layout_constraintTop_toTopOf="parent"
     android:layout_marginTop="24dp"
     app:layout_constraintBottom_toBottomOf="parent"
     android:layout_marginBottom="24dp"
     android:layout_marginLeft="24dp"
     app:layout_constraintLeft_toLeftOf="parent"
     android:layout_marginRight="24dp"
     app:layout_constraintRight_toRightOf="parent"/>
   </android.support.constraint.ConstraintLayout>
<?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:padding="@dimen/dp_20"
    android:background="@color/yellow"
    >
        <VideoView
            android:id="@+id/videoview"
            android:layout_width="wrap_content"
            android:layout_centerInParent="true"
            android:layout_height="300dp"
            android:contentDescription="@string/app_name"
             />

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/camera"
            android:layout_margin="30dp"
            android:layout_alignParentEnd="true"
            android:layout_centerVertical="true"
            android:id="@+id/imageView" />

</RelativeLayout>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top