私は Android 開発の初心者であり、さまざまなレイアウトでサイズ変更がどのように機能するかを完全には理解できません。本のプレビューをこのテンプレートに配置したい:
FrameLayoutを使用して実装しようとしました。アイデアは、プレビュー画像の中心がpng背景の中心とまったく同じになるということです。コードは次のとおりです。
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight=".5" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/book_frame" />
<ImageView
android:id="@+id/previewImage"
android:layout_width="83dp"
android:layout_height="83dp"
android:layout_gravity="center_vertical|center_horizontal"
android:src="@drawable/abs__ab_bottom_solid_dark_holo" />
</FrameLayout>
レイアウトビルダーの結果は、私が望んでいるように見えます:
実際の電話では異なります。
他の解像度では、両方のバリアントとも異なると思います。だから私の質問は、これらの画像を同期して、サイズ変更や歪みの後にプレビューがカバーに正しく収まるようにする方法です? 考えられる解決策は、画像から境界線を削除し、代わりに previewImage に配置することです。しかし、アプリケーションには境界線を削除できない同様のユースケースがいくつかあるので、それらすべてに対する普遍的な解決策を見つけたいと思います.