Android DialogFragment - 奇怪的透明盒子

时间:2014-04-17 11:43:09

标签: android camera transparent dialogfragment

我一直在实施一个非常甜蜜的相机对话框片段,并按照AndroidVogella指南进行操作。

然而,我在对话框中得到一个透明的盒子(不得不用手机拍照)

我认为这与不重新绘制DialogFragment有关,就像我从平板电脑上截取它看起来应该是这样的截图:

你知道如何解决这个问题,因为我无法弄清楚原因。

Xml:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="@drawable/fragment_background"
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="50dp">

<FrameLayout
    android:id="@+id/camera_preview"
    android:layout_width="500dp"
    android:layout_height="500dp"
    android:layout_weight="1">
</FrameLayout>

<LinearLayout
      android:orientation="horizontal"
      android:layout_width="wrap_content"
      android:layout_height="fill_parent"
      android:layout_alignParentBottom = "true">

      <GToggleButton
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:id="@+id/color_effects"
          android:drawableTop="@drawable/bw_icon" />

      <GButton
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:id="@+id/button_capture"
          android:drawableTop="@drawable/cam" />

      <GButton
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:id="@+id/switch_cam"
          android:drawableTop="@drawable/cam_facing" />

  </LinearLayout>

</LinearLayout>

同样在onResume方法中我做:

    Window window = getDialog().getWindow();
    window.setLayout(AbsoluteLayout.LayoutParams.WRAP_CONTENT, AbsoluteLayout.LayoutParams.FILL_PARENT);

    window.setGravity(Gravity.CENTER);

但是,当我将宽度和高度设置为FIll_PARENT时,它不会显示透明框,但我想要一个不会填充整个父UI的对话框。

1 个答案:

答案 0 :(得分:1)

我尝试在另一个tablet上运行该程序,并发现它是tablet特定问题或API特定问题。

问题在于Samsung GALAXY Tab 10.1API 15

它适用于Samsung Galaxy Tab 2但不适用Samsung Galaxy Tab 3,需要进行更多调试。