这是我的Home.xml布局文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rellay"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/placesgradient">
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="click"
/>
**<I want to include another layout here on a click of a button dynamically on click of a button >**
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_below="@id/btn2"
android:text="hello this is text..see above" />
</RelativeLayout>
这是我的Home.java文件
public class Home extends Fragment implements OnClickListener {
Button b1;
RelativeLayout r1;
View rootView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.home, container, false);
b1 = (Button) rootView.findViewById(R.id.btn2);
b1.setOnClickListener(this);
return rootView;
}
@Override
public void onClick(View arg0) {
ViewGroup con = null;
r1 = (RelativeLayout) rootView.findViewById(R.id.rellay);
LayoutInflater layoutInflater = (LayoutInflater)getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
r1.addView(layoutInflater.inflate(R.layout.test1, con , false));
}
}
当我单击按钮时,它将test1.xml布局文件放置在home.xml布局的顶部。我需要它在按钮和文本之间。我之前在堆栈上检查了此代码,但似乎无法与FragmentActivity一起使用。在这种情况下,此处1表示索引或第二个子级。
rl.addView(1, layoutInflater.inflate(R.layout.content_layout, this, false) );
我该如何实现?帮助!!
我将一些容器视图放在您希望布局像这样的位置:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rellay"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/placesgradient">
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="click"
/>
<FrameLayout
android:id="@+id/flContainer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_below="@id/btn2"
android:text="hello this is text..see above" />
</RelativeLayout>
然后,您可以像这样在Fragment中检索容器:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.home, container, false);
// Retrieve your container
flContainer = rootView.findViewById(R.id.flContainer);
b1 = (Button) rootView.findViewById(R.id.btn2);
b1.setOnClickListener(this);
return rootView;
}
然后,当您想添加布局时,可以FrameLayout
像这样添加一个子级:
flContainer.addView(subLayout);
如果以后要更改容器中的布局,则可以这样进行:
flContainer.removeAllViews();
flContainer.addView(otherLayout);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句