0

我想知道是否可以在 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="wrap_content"
    android:layout_marginLeft="10dp"
    android:orientation="horizontal" >

<TextView
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:text="Address: "
    android:textSize="14dp" />

</LinearLayout>

当我在其他 xml 中包含此布局时,是否可以在其中添加另一个 TextView,因此结果如下所示:

地址:另一个文本视图的文本。

我想在 xml 中完成这项工作,而不是以编程方式。

我试过以下:

            <include layout="@layout/mybaselayout" >

                <TextView
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="20dp"
                    android:text="mylocalizedstring" />
            </include>

那是行不通的,我是在尝试在 xml 中做一些不可能的事情吗?

谢谢。

4

5 回答 5

1

Looks like the way I want to add views inside included layout in xml is not possible, only way to achieve it, is to do it programmatically.

于 2012-08-01T04:38:14.577 回答
0
<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
          android:orientation="vertical"  
          android:layout_width="fill_parent"  
          android:layout_height="fill_parent"  
    >  
<TextView  
        android:layout_width="fill_parent"  
        android:layout_height="wrap_content"  
        android:text="This is a 'sans' demo!"  
        android:typeface="sans"  
        />  
 <TextView  
        android:layout_width="fill_parent"  
        android:layout_height="wrap_content"  
        android:text="This is a 'serif' demo!"  
        android:typeface="serif"  
        />  
 <TextView  
        android:layout_width="fill_parent"  
        android:layout_height="wrap_content"  
        android:text="This is a 'monospace' demo!"  
        android:typeface="monospace"  
        />  

  </LinearLayout>  
于 2012-07-31T06:37:55.687 回答
0

如果您不想直接添加TextViewxml布局文件中,则必须使用一些编码。如果您不止一次地包含您的布局,并且您只想添加TextView几次,请使用ViewStub

<?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="wrap_content"
    android:layout_marginLeft="10dp"
    android:orientation="horizontal">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:text="Address: "
        android:textSize="14dp" />
    <ViewStub
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:id="@+id/view_stub"
        android:inflatedId="@+id/addr"
        android:layout="@layout/text_view" />
</LinearLayout>

text_view.xml布局文件

<?xml version="1.0" encoding="utf-8"?>
<TextView
    android:layout_width="wrap_content"
    android:layout_height="fill_parent" />

当你想显示TextView你膨胀它

TextView text_view = (TextView) ((ViewStub) findViewById(R.id.view_stub)).inflate();
text_view.setText(...);
于 2012-07-31T06:50:07.943 回答
0

你当然可以在你的第二个 xml 文件中这样做,

<RelativeLayout>
<include android:id="@+id/llone" layout="@layout/topbar"/>
<TextView android:layout_toRightOf="@id/llone"></TextView>
</RelativeLayout>
于 2012-07-31T06:50:56.613 回答
-1

你可以使用<include>标签

<include layout="@layout/topbar" android:layout_width="wrap_content" android:layout_height="wrap_content" />
于 2012-07-31T06:40:51.060 回答