0

我有这种布局,当它们变得可见时,在某些设备上会裁剪去和再次按钮,所以你只能看到其中的一半。知道为什么吗?可能是利润吗?我如何解决它?

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_camera"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clipChildren="false" >



<FrameLayout
  android:id="@+id/camera_preview"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:layout_alignEnd="@id/camera_preview"
  android:layout_alignParentLeft="true"
  android:layout_alignParentTop="true"
  android:clipChildren="false" />
  <ImageView
      android:id="@+id/head"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:src="@drawable/square" />
  <ImageView
      android:id="@+id/body"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:src="@drawable/square" />

<ImageButton
  android:id="@+id/stop"
  android:src="@android:drawable/ic_delete"
  android:layout_height="40dp"
  android:layout_width="40dp" />

 <ImageButton
  android:id="@+id/takePic"
  android:layout_width="100dp"
  android:layout_height="wrap_content"
  android:layout_alignParentBottom="true"
  android:layout_centerHorizontal="true"
  android:layout_marginBottom="@dimen/activity_vertical_margin"
  android:src="@android:drawable/ic_menu_camera" />

  <Button
      android:id="@+id/go"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignBottom="@id/camera_preview"
      android:layout_alignParentBottom="true"
      android:layout_gravity="bottom|right"
      android:layout_margin="20dp"
      android:clickable="false"
      android:text="Go!"
      android:visibility="invisible" />

   <Button
       android:id="@+id/again"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentBottom="true"
       android:layout_alignParentRight="true"
       android:layout_margin="20dp"
       android:clickable="false"
       android:gravity="center_vertical|center_horizontal"
       android:text="Again"
       android:visibility="invisible" />

</RelativeLayout>

谢谢!

4

1 回答 1

2

是的,可能是边距:我猜这个代码不起作用的设备是最小的或者分辨率最低的。为了解决您的问题,我建议您在 res 文件夹中创建一个 dimens.xml 文件,并将其命名为 value-??dpi (取决于您遇到的问题)。这是一个例子:

我的布局文件(res/layout/mylayout)

<LinearLayout
android:height="@dimen/heightmylayout"
android:width="@dimen/widthmylayout"
android:orientation="horizontal"/>

我的 Dimens 文件:任意数量;这里一个用于 mdpi,一个用于 hdpi:

HDPI (res/values-hdpi/dimens.xml):

<resources>
<dimen name="heightmylayout">160dp</dimen>
<dimen name="widthmylayout">160dp</dimen>
</resources>

MDPI (res/values-mdpi/dimens.xml):

<resources>
<dimen name="heightmylayout">110dp</dimen>
<dimen name="widthmylayout">110dp</dimen>
</resources>

有了这个,模拟器和手机将看到他们必须采取哪些维度。

希望能帮助到你 !

于 2013-08-26T13:08:27.530 回答