2013-08-20 4 views
0

Я пытаюсь определить макет для элемента списка, который выглядит как прикрепленное изображение (сделано в Photoshop). Какие макеты должны использовать? enter image description hereКакой макет андроида следует использовать для этого макета элемента списка?

+0

Пожалуйста, отметьте тот, кто помог вам, как решить. – Juangcg

+0

Я работаю над этим, но ни один из ответов не полностью решил мою проблему. Я нахожу это жесткой корректировкой отступов и полей с вашим предложением. Я пошел использовать GridLayout вместо этого, и я почти закончил. После этого я отправлю код. –

+0

GridLayout кажется немного сложным для этого, но удачи;) – Juangcg

ответ

-1

Вы можете установить несколько LinearLayouts с различной ориентацией, чтобы достичь этого.

1

Я предлагаю LinearLayout с горизонтальным orientation первым, а внутри RelativeLayout поместить другие виды с левой/верхней к правой/нижней с помощью атрибутов: layout_alignParentTop, layout_alignParentBottom, layout_alignParentLeft, layout_alignParentRight и т.д ...

+0

Я мог бы купить это, если вы говорите о том, чтобы положить все на белом фоне в «RelativeLayout». Я все еще думаю, что «LinearLayout» может не понадобиться, но это просто мое мнение и трудно сказать, не выполняя некоторые из них. Хороший ответ. – codeMagic

+0

'LinearLayout' будет содержать два блока: белый фон и остальные виды. ориентация «горизонтальная» помогает сохранять ее горизонтальной и выровненной. Белый фон может быть простым «TextView». Остальные представления будут в «RelativeLayout», и вы используете указанные атрибуты. –

1

Я хотел бы предложить используя для этого RelativeLayout. В противном случае у вас может быть слишком много гнездования. Я не собираюсь писать макет, но вы должны просмотреть RelativeLayout Docs и посмотреть все возможные свойства, которые вы можете дать Views. Возможно, вы тоже закончите с ребенком LinearLayout s, и все в порядке. Но я бы использовал RelativeLayout для родителя.

Если вы еще не определились, нужно сделать очень быстро в xml, как вы думаете, что каждый может пойти и посмотреть с ViewGroup, кажется наиболее эффективным. Иногда его трудно сказать, пока вы не начнете его, написав xml-код или, по крайней мере, некоторый псевдокод.

1

Вам остается только играть с прокладками и полями.

Result

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

    <LinearLayout 
      android:id="@+id/gray_layout" 
      android:layout_width="40dp" 
      android:layout_height="match_parent" 
      android:orientation="vertical" 
      android:background="#888888" 
      android:layout_alignParentLeft="true" 
      android:gravity="center_vertical"> 

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

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

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

    </LinearLayout> 

    <View 
     android:id="@+id/divider" 
     android:layout_width="match_parent" 
     android:layout_height="2dp" 
     android:background="#000088" 
     android:layout_toRightOf="@id/gray_layout" 
     android:layout_marginLeft="10dp" 
     android:layout_marginRight="10dp" 
     android:layout_marginTop="30dp"/> 

    <TextView android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@id/divider" 
     android:text="Title" 
     android:layout_marginBottom="5dp" 
     android:layout_alignBottom="@id/divider"/> 

    <TextView android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignRight="@id/divider" 
     android:text="18. aug 23:49" 
     android:layout_marginBottom="5dp" 
     android:layout_alignBottom="@id/divider"/> 

    <TextView android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@id/divider" 
     android:text="Short msg" 
     android:layout_marginTop="10dp" 
     android:layout_alignTop="@id/divider"/> 

    <ImageView 
     android:id="@+id/info_button" 
     android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentBottom="true" 
     android:background="#ff0000"/> 

    <ImageView 
     android:id="@+id/arrow_button" 
     android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:layout_above="@id/info_button" 
     android:layout_toLeftOf="@id/info_button" 
     android:background="#00ff00"/> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"   
     android:layout_above="@id/arrow_button" 
     android:layout_toLeftOf="@id/info_button" 
     android:layout_alignLeft="@id/arrow_button" 
     android:gravity="center_horizontal" 
     android:text="30" /> 

</RelativeLayout> 
Смежные вопросы