明らかにレイアウトがあるアクティビティがあります。レイアウトの背景は画像であり、TextView の配置は正確な場所にある必要があります。TextView を任意のレイアウトに配置すると、期待どおりに背景画像のスケーリングで位置が変わりません。
画面のサイズに基づいて TextView をスケーリングするにはどうすればよいですか?
最も簡単な解決策が受け入れられます。
明らかにレイアウトがあるアクティビティがあります。レイアウトの背景は画像であり、TextView の配置は正確な場所にある必要があります。TextView を任意のレイアウトに配置すると、期待どおりに背景画像のスケーリングで位置が変わりません。
画面のサイズに基づいて TextView をスケーリングするにはどうすればよいですか?
最も簡単な解決策が受け入れられます。
あなたの質問は少し漠然としていますが、「上の画像の吹き出しの上に TextView を配置する」と仮定すると、少し作業が必要になる場合があります。余白などを使用して、音声イメージ上に正確に配置することもできますが、これは非常に難しく、思いどおりに動作しない可能性があります。最も簡単なオプションは、次のことを行うことです
android:background="@android:color/black"
ます。android:layout_alignParentLeft="true"
、android:layout_alignParentBottom="true"
、および `android:id="@id/img_bart"。android:background="@drawable/img_speech"
または吹き出し画像と呼ばれるもの) を使用するように背景を設定し、 Bart の右側に表示されるように設定android:layout_toRightOf="@id/img_bart"
し、上部にスナップします ( android:layout_alignParentTop="true"
-これは背の高い画面では問題を引き起こす可能性があります)。ただし)、またはandroid:layout_alignParentBottom="true"
とを介して適切な量だけ下のオフセットにスナップしandroid:layout_marginBottom="150dp"
、150 を変更して、Bart に対して適切な高さに表示されるようにします。残念ながら、Android のレイアウトはかなりの労力を要することは承知しています。特に、吹き出しのように、さまざまな要素を適切な方法でくっつけたい場合はそうです。
もう 1 つ確認できるのは、子要素を正確な位置に配置できる AbsoluteLayout です。ただし、異なる画面サイズにうまくスケーリングできないため、これは強く推奨されません。また、AbsoluteLayout クラス自体は非推奨であり、非常に長い間長い時間。
最善の方法は、まだ作成していない場合は、これから 2 つのイメージを作成することです。1 つはバート、もう 1 つは吹き出しです。各画像の ImageViews を作成し、Bart を左下に、吹き出しを右上に設定します。その後、TextView を size:wrap_content として作成し、バブルのサイズに引き伸ばすことができます。次に、TextView の重力を中央に設定すると、すべてのテキストを吹き出しの中央に配置できます。