Android:创建 UI 组件并以编程方式重用它
Posted
技术标签:
【中文标题】Android:创建 UI 组件并以编程方式重用它【英文标题】:Android:Creating UI Components and reusing it programmatically 【发布时间】:2012-05-01 16:08:50 【问题描述】:我创建了一个简单的 UI 并由 id mainContainer2 设置。 我想知道这样的事情是否可以在循环中重用它,例如
<LinearLayout
android:id="@+id/mainContainer2"
android:layout_
android:layout_
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_
android:layout_
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
<ImageView
android:id="@+id/imageView1"
android:layout_
android:layout_
android:layout_marginLeft="10dp"
android:src="@drawable/ic_launcher" />
<LinearLayout
android:layout_
android:layout_ >
<TextView
android:id="@+id/textView2"
android:layout_
android:layout_
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView3"
android:layout_
android:layout_
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
<Button
android:id="@+id/button1"
android:layout_
android:layout_
android:text="Button" />
</LinearLayout>
LinearLayout mainContainer = new LinearLayout(this);
mainContainer.setOrientation(LinearLayout.VERTICAL);
TextView textoqualquer = new TextView(this);
textoqualquer.setText("textoqualquer");
mainContainer.addView(textoqualquer);
LinearLayout maincontainer = new LinearLayout(this);
maincontainer.setOrientation(LinearLayout.VERTICAL);
maincontainer.findViewById(R.id.mainContainer2);
mainContainer.addView(maincontainer);
setContentView(mainContainer);
【问题讨论】:
【参考方案1】:我不确定你在问什么。但是你可以在任何需要的地方使用相同的xml ui,只需像这样膨胀它
LayoutInflater mInflater = LayoutInflater.from(context);
LinearLayout yourLayout = (LinearLayout)mInflater.inflate(R.layout.your_layout, null);
然后您可以在需要的地方使用布局。 同样在 xml 文件中,您可以使用“包含”或“合并”标签来重用另一个 xml 布局 喜欢
<include layout="@layout/okcancelbar_button"/>
【讨论】:
【参考方案2】:我认为在这种情况下您可以使用布局充气器。使用
LinearLayout headerView = (LinearLayout) View.inflate(this, R.layout.layout_name, null);
这将为您提供布局的完整父布局,然后您可以重用您的完整视图或使用该视图的一部分来重用
view_type my_view = (view_type)headerview.findviewbyid (R.id.view_name)
【讨论】:
以上是关于Android:创建 UI 组件并以编程方式重用它的主要内容,如果未能解决你的问题,请参考以下文章
按单词包装 UILabel 并以编程方式扩展 UITableViewCell 高度
有没有办法以编程方式检测 Android 应用程序的 UI 组件?