2012-02-13 2 views
1

Я новый новичок в Android. Просто хочу знать, как мы могли бы создать макет пользовательского интерфейса, как показано на рисунке ниже. У меня есть знания о создании основных макетов, пожалуйста, назовите меня примерами примеров кода или любыми ссылками, которые могут мне помочь.Создание пользовательских макетов для Android

У меня есть ярлык в левой части каждого ряда и Spinner с правой стороны. Количество строк, присутствующих на экране, должно определяться динамически в соответствии с ответом сервера. Поэтому я не могу жестко закодировать полный вид в XML.

Любая помощь по этому вопросу очень ценится. Заранее спасибо.

enter image description here

ответ

3

создавать свои макеты следующим образом:

<LinearLayout android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <LinearLayout android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:id="@+id/llTitle" 
      android:background="#ffffff" 
      android:gravity="center"> 
      <TextView android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Title"> 
    </LinearLayout> 
    <LinearLayout android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:background="#FF00FF"> 
        <LinearLayout android:layout_width="fill_parent" 
           android:layout_height="wrap_content" 
           android:background="@drawable/customshape" 
           amdroid:id="@+id/llContainer"/> 

        <Button android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="button" 
          android:id/button1"/> 
      </LinearLayout> 

    </LinearLayout> 

customshape.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <gradient android:startColor="#SomeGradientBeginColor" android:endColor="#SomeGradientEndColor" 
      android:angle="270"/> 

    <corners android:bottomRightRadius="7dp" android:bottomLeftRadius="7dp" 
    android:topLeftRadius="7dp" android:topRightRadius="7dp"/> 
</shape> 

row.xml // создать rox.xml, чтобы содержать TextView и кок.

в цикле активности, чтобы добавить мнения llContainer

LinearLayout llContainer=(LinearLayout)findViewById(R.id.llContainer); 
for(int i0;i<list.size();i++) 
{ 
     LinearLayout llView=inflater.inflate(R.layout.row, null); 
     //set attributes of textview and spinner 
     llContainer.addView(llView); 
} 
0

Это example.Try, чтобы настроить его

<?xml version="1.0" encoding="UTF-8"?> 

http://schemas.android.com/apk/res/android " андроид: ID = "@ + код/​​authnet_auth_buttons" андроид: layout_below =" @ идентификатор/authnet_error_text» андроид: layout_width = "wrap_content" андроид: layout_height = "wrap_content" андроид: layout_centerHorizontal = "истинный" андроид: layout_marginTop = "20dp">

<Button android:id="@+id/authnet_auth_cancel_button" 
android:text="Cancel" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_below="@id/authnet_error_text"/> 

<Button android:id="@+id/authnet_auth_login_button" 
android:text="Login" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_below="@id/authnet_error_text"/> 

enter image description here

Для значений вы должны использовать Spinner Widget

Для Dynamic View см How to lay out Views in RelativeLayout programmatically?

+0

@Sameer .. Количество строк, которые будут присутствовать на экране будет решаться динамически в соответствии с ответом сервера. Поэтому я не могу жестко закодировать полный вид в XML. –

+0

см. Это http://stackoverflow.com/questions/3909062/how-to-align-a-dynamically-create-userinterface-using-relativelayout-in-android для динамических макетов – Sameer

1

Лучше взять ListView, создать свой собственный адаптер, имеющий элемент списка с ярлыком и Spinner ,

Вам просто нужно передать динамические значения (строки) на ваш пользовательский адаптер.

+0

Звучит довольно интересно. Любые примеры, которые я мог бы получить от этого, что облегчит мою жизнь. –

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