2015-05-05 4 views
0

Я работаю с макетом элементов ListView, но я не могу упорядочить дочерние позиции в Relativelayout.Проблема с раскладкой RelativeLayout в макете элементов ListView

Вот мой элемент компоновки кадра:

http://img1.ph.126.net/-8STCR3xg1fcGkSNFcgLXw==/6630338789490053350.png

Я хочу Первый ImageView на вершине, один TextView в центре, а второй ImageView на дне.

Вот мой код макета (Зеленый RelativeLayout)

<RelativeLayout 
       android:id="@+id/bub_right" 
       android:layout_width="30dip" 
       android:layout_height="wrap_content" 
       android:layout_alignTop="@id/bub_left" 
       android:layout_alignBottom="@id/bub_left" 
       android:layout_alignParentEnd="true" 
       android:layout_alignParentRight="true" 
       android:background="#666666" 
       android:gravity="right"> 
       <ImageView 
        android:layout_width="30dip" 
        android:layout_height="20dip" 
        android:id="@+id/bub_up" 
        android:layout_alignParentTop="true" 
        android:src="@drawable/up"/> 
       <TextView 
        android:layout_width="30dip" 
        android:layout_height="20dip" 
        android:text="123" 
        android:layout_centerVertical="true" 
        android:id="@+id/bub_score" 
        android:textSize="15dp"/> 
       <ImageView 
        android:id="@+id/bub_down" 
        android:layout_width="30dip" 
        android:layout_alignParentBottom="true" 
        android:layout_height="20dip" 
        android:src="@drawable/down"/> 
</RelativeLayout> 

Я поставил эти две линии, чтобы убедиться, что Зеленый RelativeLayout имеет ту же высоту, что и красный.

 android:layout_alignTop="@id/bub_left" 
    android:layout_alignBottom="@id/bub_left" 

И результат таков:

http://img1.ph.126.net/eBWSYfX51mO-7_2X9X55Xw==/6630524606955145426.png

Пожалуйста, помогите, заранее спасибо.

+2

неработающие ссылки, пожалуйста, исправить – appoll

+0

Ваш RelativeLayout является 'структурированы как LinearLayout' (для атрибутов' alignParentXYZ' за исключением) ... Вам действительно нужен ReltiveLayout? «Я не вижу использования относительности детей». –

+0

использование LinearLayout .. –

ответ

1

Пожалуйста, замените вашу деятельность на этот код. И проверьте результат.

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

<LinearLayout 
    android:layout_width="0dp" 
    android:layout_height="match_parent" 
    android:layout_weight="1" 
    android:gravity="center" 
    android:orientation="vertical" 
    android:weightSum="3" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Left Side layout" /> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="50dp" 
    android:layout_height="match_parent" 
    android:gravity="center" 
    android:orientation="vertical" 
    android:weightSum="1" > 

    <ImageView 
     android:id="@+id/bub_up" 
     android:layout_width="30dip" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:src="@drawable/ic_launcher" 
     android:textSize="15dp" /> 

    <TextView 
     android:id="@+id/bub_score" 
     android:layout_width="30dip" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:gravity="center" 
     android:text="123" /> 

    <ImageView 
     android:id="@+id/bub_down" 
     android:layout_width="30dip" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:src="@drawable/ic_launcher" /> 
</LinearLayout> 

enter image description here

enter image description here

+0

Да, точно этот код. После этого вы можете использовать ваши иконки из доступных. Сначала проверьте его –

+0

Я положил изображение результата там. вы так хотите? –

+0

Я хочу, как это http://img1.ph.126.net/Nau8D4xqkcTzfb00Q3S2Sg==/6630167265676117774.png я добавил эти строки в LinearLayout <андроида:. Layout_alignParentTop = «истинный» андроид: layout_alignParentBottom = «истинный» андроид : layout_alignParentEnd = "true" android: layout_alignParentRight = "true">, и результатом является this.http: //img2.ph.126.net/Zxw2BpvXENkY9PsHBGFo9w==/6630821475094919432.png –

1
You can try this: 

<?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:orientation="horizontal" > 

    <RelativeLayout 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_toLeftOf="@+id/layout" 
     android:layout_alignParentLeft="true" 
     android:orientation="vertical" > 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerInParent="true" 
      android:text="hii" /> 

    </RelativeLayout> 

    <RelativeLayout 
     android:id="@+id/layout" 
     android:layout_width="50dp" 
     android:layout_height="match_parent" 
     android:layout_alignParentRight="true" 
     android:orientation="vertical" > 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentTop="true" 
      android:text="hii" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerInParent="true" 
      android:text="hii" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:text="hii" /> 
    </RelativeLayout> 

</RelativeLayout> 
+0

Я пробовал ваш код, и результат такой же. В listview.http: //img0.ph.126.net/7srF3Q0GQD14gKxyAOzjMg==/6630386068490048508.png –

+0

это одна строка списка ur? –

+0

Ну, я опубликовал этот код после проверки того, как он выглядит отдельно как макет. Возможно, вы уже установили какой-либо атрибут в своем списке, поэтому он будет противоречить свойствам Relative Layout. –

Смежные вопросы