2015-11-03 59 views
1

我試過了我能想到的所有東西,但無法獲得此佈局工作。這是一個ListView列表匹配在一行中。Android工作室設置佈局像這樣

第一排是第一排,第二排是第二排,依此類推。我不介意綠色的筆畫和邊框。

這有可能嗎?

在這裏看到的deisgn:enter image description here

+0

你有錯過的圖片。 – PaolaG

+0

嗯,我添加它作爲一個鏈接,它的工作? :) –

+0

現在它運行.. :) – PaolaG

回答

0

下面是一個示例實現,它使用負邊距來重疊我稱爲徽章的事物。 enter image description here

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="#cdcdcd" 
       android:gravity="center_vertical"> 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_toLeftOf="@+id/score" 
     android:layout_below="@+id/badge" 
     android:background="@color/white" 
     android:orientation="vertical" 
     android:padding="16dp" 
     android:showDividers="middle"> 

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

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

    </LinearLayout> 

    <TextView 
     android:id="@+id/score" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:padding="16dp" 
     android:text="0 vs 7" 
     android:layout_below="@+id/badge" 
     android:textSize="32sp" 
     android:textStyle="bold"/> 

    <LinearLayout 
     android:layout_below="@+id/badge" 
     android:id="@+id/right_table" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_toRightOf="@id/score" 
     android:background="@color/white" 
     android:orientation="vertical" 
     android:padding="16dp" 
     android:showDividers="middle"> 

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

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

    </LinearLayout> 


    <TextView 
     android:id="@+id/badge" 
     android:layout_toRightOf="@id/score" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="#0f0" 
     android:layout_marginLeft="-12dp" 
     android:layout_marginBottom="-8dp" 
     android:text="Badge" 
     /> 

</RelativeLayout> 

交替背景只需設置你的適配器getView的背景。

+0

非常感謝!它像一個老闆一樣工作!現在我只需要列出所有數據... :) –

0

你需要填充ListView控件(更好地利用RecyclerView &與ViehHolder的適配器)的自定義適配器,該行佈局從我自己的項目,不完全是採取你要求什麼,但你會明白的。只是評論進一步的信息。

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

    <TextView 
     android:id="@+id/textV_player1" 
     android:text="player1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="40dp" 
     android:layout_marginEnd="40dp" 
     android:textSize="20sp" 
     android:paddingTop="15dp" 
     android:gravity="end" 
     android:layout_alignParentTop="true" 
     android:layout_toLeftOf="@+id/textV_vs" 
     android:layout_toStartOf="@+id/textV_vs" /> 

    <TextView 
     android:id="@+id/textV_player2" 
     android:text="player2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="20sp" 
     android:paddingTop="15dp" 
     android:layout_alignBottom="@+id/textV_vs" 
     android:layout_toRightOf="@+id/textV_vs" 
     android:layout_toEndOf="@+id/textV_vs" /> 


    <TextView 
     android:id="@+id/textV_vs" 
     android:text="vs" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="40dp" 
     android:layout_marginEnd="40dp" 
     android:textSize="20sp" 
     android:layout_above="@+id/textV_points1" 
     android:layout_centerHorizontal="true" /> 


    <TextView 
     android:id="@+id/textV_points1" 
     android:text="1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="20sp" 
     android:paddingTop="3dp" 
     android:paddingBottom="15dp" 
     android:layout_below="@+id/textV_player1" 
     android:layout_alignRight="@+id/textV_player1" 
     android:layout_alignEnd="@+id/textV_player1" /> 

    <TextView 
     android:id="@+id/textV_points2" 
     android:text="2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="20sp" 
     android:paddingTop="3dp" 
     android:paddingBottom="15dp" 
     android:layout_below="@+id/textV_player2" 
     android:layout_alignLeft="@+id/textV_player2" 
     android:layout_alignStart="@+id/textV_player2" /> 

    <TextView 
     android:id="@+id/textV_vspoints" 
     android:text=":" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"  
     android:textSize="20sp" 
     android:paddingBottom="15dp" 
     android:layout_below="@id/textV_vs" 
     android:layout_centerHorizontal="true" /> 

</RelativeLayout> 
+0

這看起來不錯..但我不能看到得到的數字旁邊的VS insted下它..是因爲不可能認爲雙方各有40%的觀點,中場有數字,而VS只有20%? –

+0

只需在右邊添加屬性 'android:layout_alignLeft =「@ + id/textV_vs」'左邊的數字textview,右邊是相同的屬性。爲了獲得這種感覺,可以嘗試在'design'選項卡中進行遊戲並拖放視圖。 – yennsarah