【问题标题】:Android - How use Fragment as Dialog or Activity depending on deviceAndroid - 如何根据设备将 Fragment 用作 Dialog 或 Activity
【发布时间】:2015-12-14 12:28:52
【问题描述】:

我对 Android 编程非常陌生,但我想完成我的 UI 开发。 这个问题中的图片简单地解释了我的问题: Dialog fragment embedding depends on device

我想创建一个具有布局(可能是线性布局或相对布局)的可重用 UI 组件。根据屏幕大小(平板电脑与手机),我想在 Dialog 或单独的 Activity 中打开 UI 组件。

你们中的任何人都可以给我一个建议如何实现这一目标吗?

【问题讨论】:

  • 带有片段的用户浏览器,并为浏览器提供所有尺寸的边距
  • 这不是 StackOverflow 的正确问题

标签: android android-fragments dialog


【解决方案1】:

在activity中你要使用的片段类型:

FragmentManager fm = getSupportFragmentManager();
//fragment class name : DFragment
DFragment dFragment = new DFragment();
            // Show DialogFragment
            dFragment.show(fm, "Welcome to 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>

希望对你有帮助!!

【讨论】:

    【解决方案2】:

    如果您使用的是 android studio,您可以创建一个新的 master/detail 活动,看看他们是如何解决这个问题的。

    您可以做的是创建一个包含 2 个配置的布局,一个用于手机,另一个用于平板电脑(例如添加宽度属性)。在平板电脑布局中,您可以添加 FrameLayout 来托管片段。

    在活动的onCreate() 中,您可以检查FrameLayout 是否退出。如果它确实将变量设置为 true fragmentView = true 并检查您创建片段或启动活动的位置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多