Vra

Kan ons plaas 'n klein uitsig oor 'n ander groot oog? Byvoorbeeld, ek het 'n VideoView wat 'n lêer in die agtergrond speel. Oor hierdie, iewers in die middel / hoek, ek wil 'n ander ImageView plaas.

Maar in Lineêre / Relatiewe uitleg, sienings kan net geplaas een na die ander of relatief tot mekaar, en AbsoluteLayout is aangeraai om teen. So, wat kan ek doen?

Was dit nuttig?

Oplossing

FrameLayouts laat jy elke oog op die top van die een hieronder stapel. Dit kan ook bereik word met 'n RelativeLayout.

Ander wenke

Die FrameLayout is die eenvoudigste ViewGroup en stapels die Views in die volgorde waarin hulle is gedefinieer in uitleg XML (of programmaties bygevoeg); die eerste sal laer wees, en die laaste sal wees op die top.

Hier is 'n voorbeeld waar twee Views gestapel en verreken tot 'n beter illustreer die punt:

 betree beeld beskrywing hier

Hier is die werklike uitleg XML met die twee oorvleuelende TextView bokse. Die geneutraliseer van die twee bokse is gedoen met behulp van android:layout_gravity terwyl android:gravity word gebruik vir die teks self sentreer In elke vak.

<?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>

Net in die geval as jy 'n oog te plaas op die top van 'n ButtonView dan dit gebruik; android:elevation="7dp" vir die oog wat nodig bo-op die knoppie om geplaas te word.

Jy kan dit ook doen deur gebruik te maak van ConstraintLayout 'n nuwe uitleg ingestel deur Google.

  

ConstraintLayout kan jy groot en komplekse layouts te skep met 'n plat oog hiërargie (geen geneste oog groepe).

 <?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>
Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top