2016-06-30 7 views
0

Ich versuche, eine Zeile der verknüpften ListView aber auf Android zu replizieren.Wie kann ich diese Ansicht auf Android mit XML replizieren?

dies ist meine aktuelle Zeile Code:

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

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:id="@+id/venueImage" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" /> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:id="@+id/venueLogo" 
     android:layout_alignLeft="@id/venueImage" 
     android:layout_alignTop="@id/venueImage" 
     android:layout_alignRight="@id/venueImage" 
     android:layout_alignBottom="@id/venueImage"/> 

    <TextView 
     android:text="TextView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/venueName" 
     android:layout_centerHorizontal="true" 
     android:layout_alignLeft="@id/venueImage" 
     android:layout_alignTop="@id/venueImage" 
     android:layout_alignRight="@id/venueImage" 
     android:layout_alignBottom="@id/venueImage" 
     android:gravity="center" 
     android:textColor="#ffffff"/> 

</RelativeLayout> 

und das ist, wie ich es brauchen aussehen.

enter image description here

Wie kann ich ein Bild über ein anderes, stellen Sie den Titel genau in der Mitte des Imageview und den anderen Imageview Runde machen und auf die rechte untere Ecke positioniert? venueImage ist der Hintergrund (größtes Bild in der Ansicht). venueLogo ist die kreisförmige kleine.

Danke fürs Lesen.

Antwort

1

In diesem Beispiel unten sehen Sie 3 Textansichten, die genau so angezeigt werden, wie Sie möchten.

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:id="@+id/venueImage" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:background="#000000"/> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:id="@+id/venueLogo" 
     android:text="venue logo" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:layout_alignParentBottom="true" 
     android:background="#FF0000"/> 
    <TextView 
     android:text="venue name" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/venueName" 
     android:layout_centerHorizontal="true" 
     android:layout_alignLeft="@id/venueImage" 
     android:layout_alignStart="@id/venueImage" 
     android:layout_alignTop="@id/venueImage" 
     android:layout_alignRight="@id/venueImage" 
     android:layout_alignEnd="@id/venueImage" 
     android:layout_alignBottom="@id/venueImage" 
     android:layout_centerInParent="true" 
     android:gravity="center" 
     android:textColor="#ffffff" 
     android:padding="20dp"/> 
</RelativeLayout> 

Hoffe das hilft.

+0

Hallo @Geoff es fast getan hat, aber das VenueLogo, ist immer noch hinter allem und zeigt nicht –

+0

Die Reihenfolge, die Sie sie in Ihrem XML haben, zeigt, die oben für das erscheint. Spielen Sie mit der Bestellung, so dass es richtig angezeigt wird :) – Geoff

1

Durch sie alle in einem RelativeLayout dann halten stellen Sie die venueImage Höhe und Breite match_parent, ein TextView für den Titel erstellen und setzen Sie sich auf Center: android:layout_centerInParent="true" und android:layout_alignParentBottom="true" und android:layout_alignParentRight="true" zu Ihrem runden Bild.

Edit:

Das Innere Ihres RelativeLayout sein sollte

<ImageView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:src="@drawable/palm" 
    android:scaleType="centerCrop"/> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Title" 
    android:textSize="40dp" 
    android:textColor="@android:color/white" 
    android:layout_centerInParent="true"/> 

<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@mipmap/ic_launcher" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentRight="true" 
    android:layout_marginRight="30dp" 
    android:layout_marginBottom="20dp"/> 

es wie dieses

figure 1

+0

Aber was muss ich von meinem Code entfernen, abgesehen von dem, was Sie gerade gesagt haben? (mein Code ist in der Frage) –

+0

alle "align", und "centerHorizontal" Tags dann ersetzen sie mit dem oben genannten –

+0

scheint nicht zu funktionieren, können Sie bitte Ihren Code zur Verfügung stellen? –