我一直在实施一个非常甜蜜的相机对话框片段,并按照Android
和Vogella
指南进行操作。
然而,我在对话框中得到一个透明的盒子(不得不用手机拍照)
我认为这与不重新绘制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的对话框。
答案 0 :(得分:1)
我尝试在另一个tablet
上运行该程序,并发现它是tablet
特定问题或API
特定问题。
问题在于Samsung GALAXY Tab 10.1
或API 15
它适用于Samsung Galaxy Tab 2
但不适用Samsung Galaxy Tab 3
,需要进行更多调试。