Раздувать один макет несколько раз во время выполнения в макете

1

Можно ли раздувать и удалять макет несколько раз в другом макете. У меня есть основной макет, как показано ниже.

tab_bar.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:orientation="vertical"
  android:paddingLeft="8dip"
  android:paddingRight="12dip"
  android:paddingTop="2dip"
  android:paddingBottom="1dip"
  android:background="@drawable/search_plate_browser" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    >
    <LinearLayout
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:orientation="horizontal"
      >
      <ImageButton android:id="@+id/arrow_left"
         android:background="@drawable/ic_back"
         android:layout_width="wrap_content"
         android:layout_height="30dip"
         android:gravity="center_vertical"
         android:visibility="gone"
      />
      <ImageButton android:id="@+id/arrow_right"
         android:background="@drawable/ic_forward"
         android:layout_width="wrap_content"
         android:layout_height="30dip"
         android:gravity="center_vertical"
         android:visibility="gone"
       />
    </LinearLayout>
    <ImageButton android:id="@+id/addtab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingLeft="4dip"
    android:paddingRight="4dip"
    android:paddingTop="4dip"
    android:paddingBottom="4dip"
    android:gravity="center_vertical"
    android:background ="@drawable/tabicon"
    />
</LinearLayout>

Внутри этого макета мне нужно добавить и удалить динамическую вкладку ниже динамического нажатия одной кнопки

tabview.xml

  <LinearLayout 
         android:layout_width="220dip"
         android:layout_height="35dip"
         android:orientation="horizontal"
         android:background="@drawable/browsertab_add">
      <ImageView
         android:id="@+id/favicon"
         android:layout_width="15dip"
         android:layout_height="15dip"
         android:layout_marginTop="10dip"
         android:layout_marginLeft="15dip"
         android:layout_marginRight="2dip" 
         android:layout_marginBottom="2dip"/>
     <TextView
         android:id="@+id/title"
         android:layout_height="match_parent"
         android:layout_width="140dip"
         android:layout_marginTop="10dip"
         android:layout_marginLeft="5dip"
         android:textAppearance="?android:attr/textAppearanceSmall"
         android:textColor="@color/white"
         android:scrollHorizontally="true"
         android:lines="1"
         android:singleLine="true" />
      <ImageButton
         android:id="@+id/close"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginLeft="8dip"
         android:gravity="left"
         android:background="@drawable/ic_tab_close" />
 </LinearLayout>

Любые предложения по этому поводу были бы замечательными.

Теги:
android-layout

2 ответа

2

Не удаляйте его, просто установите его видимость на Gone :)

Некоторые ссылки на эту тему:

Android, добавьте новое представление без макета XML

Учебник по макету Runtime для Android

http://developer.android.com/reference/android/view/View.html

http://developer.android.com/reference/android/widget/LinearLayout.html

  • 0
    Хотя вы также можете удалить их
1

Да, я думаю, вы можете раздуть один макет в другом, например, я несколько раз добавляю представления в свой ViewFlipper. И эти представления в основном представляют собой макет, который я раздуваю, а затем добавляю в качестве ребенка. Вот пример:

LayoutInflater inflater = getLayoutInflater();
LinearLayout ll_main = (LinearLayout) inflater.inflate(R.layout.tabview,null); 

Теперь вы захватили LinearLayout как "ll_main", и теперь вы можете добавить его в требуемый макет в качестве дочернего.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню