如何强制嵌入的Android片段固定宽度

时间:2016-09-20 13:43:45

标签: android fragment

设置我有一个片段CustomSwitchFragment,我想按照以下方式使用:

<fragment android:name="m6world.test_toggle_yes_no.CustomSwitchFragment"
        android:id="@+id/custom_switch_fragment"
        android:layout_width="80dp"
        android:layout_height="wrap_content"
        android:orientation="horizontal" />

我不想输入80dp,我希望能够放置wrap_content,并且片段将被设置为创建它时使用的任何宽度。 基本上我不想告诉那些会使用我的片段的人,将它专门设置为80dp。

1 个答案:

答案 0 :(得分:0)

我想你可以使用这样的东西

    Display display = getWindow().getWindowManager().getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);
    int width = size.x;
    int height = size.y;
    WindowManager.LayoutParams params = getWindow().getAttributes();
    params.width = width * 70 / 100;
    params.height = height * 30 / 100;
    getWindow().setAttributes(params);
    getWindow().getAttributes().verticalMargin = 0.2F;