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 用に 1 つずつ:

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 に答える