2015-04-17 2 views
-1

Я новичок в Android, и хочу создать представление, как этогоКак создать вид на Android, как это?

Listings Data

Это пример строка я создал в HTML, но хочу сделать то же самое (или почти одинаковы) в Android. Пожалуйста, направляйте меня любым способом продвижения вперед.

Я написал

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

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="123dp" 
     android:layout_marginLeft="6dp" 
     android:layout_marginRight="6dp" 
     android:layout_marginTop="4dp" 
     android:layout_marginBottom="4dp" 
     android:background="@drawable/bg_card" 
     android:divider="@android:color/transparent" 
     > 

      <TextView 
       android:id="@+id/field_1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:gravity="left" 
       android:text="Field 1" 
       android:textColor="#000" 
       android:textStyle="bold"/> 

      <TextView 
       android:id="@+id/field_2" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:gravity="left" 
       android:text="Field 1" 
       android:textColor="#000" 
       android:textStyle="bold"/> 

      /* and so on */ 

    </LinearLayout> 


</FrameLayout> 

но вид это дает что-то вроде:

Android view list

+0

Я советую использовать вид AndroidStudio Design, если вы хотите это легкий путь ** но серьезно **, дизайн Проппер макета является серьезной темой, чтобы заботиться о, а Проппер дизайн может облегчить работу графического процессора. Сначала возьмите несколько руководств, они представлены в образцах SDK – UrielUVD

ответ

1

Вы можете проделала длинный путь с помощью LinearLayout и GridLayout. Поместите первые два текстовых элемента в LinearLayout с ориентацией, установленной на вертикальную. Затем поместите 4 следующих элемента в сетке GridLayout в 2 столбца. И последние три пункта с радиобъектом в конце в другой LinearLayout, но с ориентацией, установленной на горизонтальную.

EDIT: Я не видел две иконки. Он должен по-прежнему работать с GridLayout с двумя столбцами, а затем каждый второй элемент должен быть горизонтальным LinearLayout, содержащим ImageView с иконкой в ​​качестве источника и TextView. Вы можете поиграть с атрибутами силы тяжести и веса, чтобы правильно разместить точки зрения.

Что-то близко к этому, хотя вам нужно будет найти правильное поле, отступы и т. Д., Которые будут работать для вас.

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

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

    <TextView 
     android:layout_margin="10dp" 
     android:layout_marginLeft="10dp" 
     android:text="Test line" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

    <TextView 
     android:layout_margin="10dp" 
     android:layout_marginLeft="10dp" 
     android:text="Test line 2 test test" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 
</LinearLayout> 

<GridLayout 
    android:layout_margin="10dp" 
    android:columnCount="2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 

    <TextView 
     android:text="Another Test line" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

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

     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 

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

    </LinearLayout> 

    <Button 
     android:text="Textbox" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

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

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

    <TextView 
     android:text="Another test string" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

</GridLayout> 

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

    <ImageView 
     android:layout_weight="1" 
     android:maxHeight="100dp" 
     android:maxWidth="100dp" 
     android:src="@drawable/abc_btn_rating_star_on_mtrl_alpha" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

    <TextView 
     android:layout_weight="1" 
     android:text="Test profile link" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

    <ImageView 
     android:layout_weight="1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

    <RadioButton 
     android:layout_weight="3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 
</LinearLayout> 

+1

Должен ли я использовать Framelayout или Relativelayout поверх всего? – Harry

+0

Вы можете просто использовать FrameLayout. – stonecompass

+1

Я просто добавил пример xml. Надеюсь, поможет. – stonecompass