我想知道是否可以在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中尝试了一些不可能的事情吗?
感谢。
答案 0 :(得分:1)
看起来我想在xml中添加视图的方式是不可能的,只有实现它的方法,就是以编程方式进行。
答案 1 :(得分: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>
答案 2 :(得分:0)
如果您不想在TextView
布局文件中直接添加xml
,则必须使用某些编码。如果您多次添加布局,并且只想添加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(...);
答案 3 :(得分:0)
您肯定可以在第二个xml文件中执行此操作,
<RelativeLayout>
<include android:id="@+id/llone" layout="@layout/topbar"/>
<TextView android:layout_toRightOf="@id/llone"></TextView>
</RelativeLayout>
答案 4 :(得分:-1)
您可以使用<include>
代码
<include layout="@layout/topbar" android:layout_width="wrap_content" android:layout_height="wrap_content" />