回收ui元素

时间:2011-04-11 13:49:54

标签: android user-interface reusability

嗨,在我的活动布局中,我使用这个XML来获取按钮数组

            <TextView  
                android:id="@+id/tab1"
                android:layout_width="wrap_content" 
                android:layout_height="fill_parent" 
                android:text="text tab 1"
                android:gravity="center"
                android:padding="10dp"
                android:clickable="true"
                android:background="@drawable/tab_color_selector"
                />

            <View 
                android:layout_width="1dp" 
                android:layout_height="fill_parent" 
                android:background="@color/lightgrey"                   
                />

            <TextView  
                android:id="@+id/tab2"
                android:layout_width="wrap_content" 
                android:layout_height="fill_parent" 
                android:text="text tab 2"
                android:gravity="center"
                android:padding="10dp"
                android:clickable="true"
                android:background="@drawable/tab_color_selector"
                />

            <View 
                android:layout_width="1dp" 
                android:layout_height="fill_parent" 
                android:background="@color/lightgrey"                   
                />

            <TextView  
                android:id="@+id/tab3"
                android:layout_width="wrap_content" 
                android:layout_height="fill_parent" 
                android:text="text tab 3"
                android:gravity="center"
                android:padding="10dp"
                android:clickable="true"
                android:background="@drawable/tab_color_selector"
                />

            <View 
                android:layout_width="1dp" 
                android:layout_height="fill_parent" 
                android:background="@color/lightgrey"                   
                />

考虑到这个复制/粘贴非常难看,我创建了一个名为'tab.xml'的新xml文件,并定义如下

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

    <TextView  
        android:layout_width="wrap_content" 
        android:layout_height="fill_parent" 
        android:gravity="center"
        android:padding="10dp"
        android:clickable="true"
        android:background="@drawable/tab_color_selector"
        />

    <View 
        android:layout_width="1dp" 
        android:layout_height="fill_parent" 
        android:background="@color/lightgrey"                   
        />

</LinearLayout>

回到主要布局,我用第三个代码取代了第一个代码...

<include layout="@layout/tab" />

...但是现在,我该如何设置textview文本?尝试

 <include android:text="text tab 1" layout="@layout/tab" />

不起作用:仍然没有文字......

提前致谢 升。

1 个答案:

答案 0 :(得分:1)

您要找的是fragment。使用Fragments API,因为它可用于所有Android平台,从1.6到SDK更新程序(SDK安装),标签为“Android兼容包”。