0

明らかにレイアウトがあるアクティビティがあります。レイアウトの背景は画像であり、TextView の配置は正確な場所にある必要があります。TextView を任意のレイアウトに配置すると、期待どおりに背景画像のスケーリングで位置が変わりません。

画面のサイズに基づいて TextView をスケーリングするにはどうすればよいですか?

最も簡単な解決策が受け入れられます。

バート吹き出し

4

2 に答える 2

0

あなたの質問は少し漠然としていますが、「上の画像の吹き出しの上に TextView を配置する」と仮定すると、少し作業が必要になる場合があります。余白などを使用して、音声イメージ上に正確に配置することもできますが、これは非常に難しく、思いどおりに動作しない可能性があります。最も簡単なオプションは、次のことを行うことです

  1. Photoshop、ペイント、またはほぼすべての編集プログラムを使用して、バートと吹き出しを切り取り、別の画像として保存します。
  2. 背景色を black に設定した RelativeLayout を使用しandroid:background="@android:color/black"ます。
  3. Bart のグラフィックを使用して ImageView を配置し、次のプロパティを設定します: android:layout_alignParentLeft="true"android:layout_alignParentBottom="true"、および `android:id="@id/img_bart"。
  4. TextView を配置し、吹き出し画像 (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 クラス自体は非推奨であり、非常に長い間長い時間。

于 2012-11-12T01:33:57.860 に答える
0

最善の方法は、まだ作成していない場合は、これから 2 つのイメージを作成することです。1 つはバート、もう 1 つは吹き出しです。各画像の ImageViews を作成し、Bart を左下に、吹き出しを右上に設定します。その後、TextView を size:wrap_content として作成し、バブルのサイズに引き伸ばすことができます。次に、TextView の重力を中央に設定すると、すべてのテキストを吹き出しの中央に配置できます。

于 2012-11-12T01:38:15.167 に答える