我对Android编程非常陌生,而且我想要完成我的UI开发。 这个问题的图片只是解释了我的问题: Dialog fragment embedding depends on device
我想创建一个带有Layout的可重用UI组件(可能是LinearLayout或Relative Layout)。根据屏幕大小(平板电脑与手机),我想在对话框或单独的活动中打开UI组件。
你们有人可以给我一个如何实现这个目标的建议吗?
答案 0 :(得分:2)
在您要使用片段类型的活动中:
FragmentManager fm = getSupportFragmentManager();
//fragment class name : DFragment
DFragment dFragment = new DFragment();
// Show DialogFragment
dFragment.show(fm, "Dialog Fragment");
现在创建一个类DFragment并输入:
public class DFragment extends DialogFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.dialogfragment, container,
false);
getDialog().setTitle("DialogFragment Tutorial");
// Do something else
return rootView;
}
}
<强> dialogfragment.xml 强>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:padding="10dp"
android:text="@string/welcome" />
</RelativeLayout>
希望它有所帮助!!
答案 1 :(得分:0)
如果您使用的是Android工作室,则可以创建一个新的master/detail
活动,以了解他们如何解决这个问题。
您可以做的是创建一个包含2个配置的布局,一个用于手机,另一个用于平板电脑(例如,添加宽度属性)。在平板电脑布局中,您可以将FrameLayout
添加到要托管片段的位置。
在活动的onCreate()
中,您可以检查FrameLayout
是否退出。如果它确实将变量设置为true fragmentView = true
并检查您在何处创建片段或启动活动。