2016-04-21 5 views
0

Sorry im Voraus Ich muss ein paar Bilder hinzufügen, um mein Problem ein wenig leichter zu verstehen. Ich verwende ein lineares Layout für meine benutzerdefinierten Zeilen und es bereitet mir große Schwierigkeiten, die Zeilen so aussehen zu lassen, wie ich es möchte. Derzeit sieht es so aus dieserAndroid benutzerdefinierte Zeilenlayout Problem

Curent view

verzeihen Sie bitte die schnelle Farbe Bild, das ich bin zu zeigen, aber es ist, wie ich das Layout aussehen möchte.

desired look

Ich möchte den Namen Textbox über dem Hund Bild hinzuzufügen, und einen Zeitstempel Textbox über jede der 1 und 2 Jedes Mal, wenn ich versuche, Textfelder hinzuzufügen, dies es wirklich verwirrt mit dem Layout angezeigt werden . Das Textfeld über dem Hundebild möchte immer nach rechts oder links vom Hundebild gehen und das Bild in die Mitte der Seite schieben und die Tasten werden weiter ausgebreitet. Ich habe nicht viel Erfahrung mit diesem Layout, das ich normalerweise relatives Layout mache, wo ich Stücke ziehen und fallen lassen kann. Jede Beratung oder Hilfe wird sehr geschätzt.

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

<ImageButton 
    android:layout_width="150dip" 
    android:layout_height="150dip" 
    android:id="@+id/dogimage" 
    android:clickable="true" 
    android:layout_alignParentLeft="true" 

    android:background="@drawable/dogpic" 
    android:onClick="sendProfile" 
    android:scaleType="fitXY" /> 

<ImageButton 
    android:layout_width="75dip" 
    android:layout_height="75dip" 
    android:id="@+id/dog1num1" 
    android:background="@drawable/num1" 
    android:clickable="true" 
    android:onClick="NumberOne" 
    android:layout_marginLeft="10dp" 
    android:layout_marginTop="75dp" 
    android:scaleType="fitXY" /> 

<ImageButton 
    android:layout_width="75dip" 
    android:layout_height="75dip" 
    android:id="@+id/dog1num2" 
    android:background="@drawable/num2" 
    android:clickable="true" 
    android:onClick="NumberTwo" 
    android:layout_marginLeft="10dp" 
    android:layout_marginTop="75dp" 
    android:scaleType="fitXY" /> 
</LinearLayout> 

Antwort

2

Sie müssen Ihre imageview/textview-Kombination in ein LinearLayout einbinden. Und Sie sollten den ImageButton mit src, nicht Hintergrund setzen. Tun Sie es so:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    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="Title" /> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal"> 

     <ImageButton 
      android:id="@+id/dogimage" 
      android:layout_width="150dip" 
      android:layout_height="150dip" 
      android:clickable="true" 
      android:onClick="sendProfile" 
      android:scaleType="fitXY" 
      android:src="@drawable/dogpic" /> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom" 
      android:orientation="vertical"> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Timestamp 1" /> 

      <ImageButton 
       android:id="@+id/dog1num1" 
       android:layout_width="75dip" 
       android:layout_height="75dip" 
       android:layout_marginLeft="10dp" 
       android:clickable="true" 
       android:onClick="NumberOne" 
       android:scaleType="fitXY" 
       android:src="@drawable/num1" /> 

     </LinearLayout> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom" 
      android:orientation="vertical"> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Timestamp 1" /> 

      <ImageButton 
       android:id="@+id/dog1num2" 
       android:layout_width="75dip" 
       android:layout_height="75dip" 
       android:layout_marginLeft="10dp" 
       android:clickable="true" 
       android:onClick="NumberOne" 
       android:scaleType="fitXY" 
       android:src="@drawable/num2" /> 

     </LinearLayout> 

    </LinearLayout> 
</LinearLayout> 
+0

Vielen Dank, dass diese Lösung für die Formatierung funktioniert, die ich nie mit mehreren linearen Layouts gekommen wäre. Ich habe sie als Hintergründe gemacht, weil das Tun als eine Quelle die Knöpfe mit einem grauen Rand um sie herum gemacht hat. – shadowice0823

+0

Verwenden Sie für den grauen Rahmen android: background = "? Attr/selectableItemBackground" – Francesc