2011-12-21 6 views
2

複数の画面サイズをサポートしていますが、まだ混乱しています。 私はdpで指定されているように、自動的に拡大縮小されます。すべての画面サイズのための単一のレイアウト

私のサンプルでは、​​レイアウトは1つだけです。そこに私は編集のテキストを置いた。 と指定された幅は、170 dpとします。 5インチの携帯電話エミュレータでは画面幅の半分になります。

私が期待していたのは、タブレット7インチまたは10インチで表​​示すると、画面の幅の半分(つまり、自動的に縮尺される)になります。しかし、それはできませんでした。 10インチのタブレットでは非常に小さいサイズです。

私はレイアウトXMLを通じて(のみ単一のXMLを)これを達成するために何をすべき

答えて

1

は、レイアウトの重みを使用することを学ぶ、あなたが100

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" > 

    <TextView 
     android:layout_width="0dip" 
     android:layout_height="wrap_content" 
     android:layout_weight="50" 
     android:text="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" /> 

    <View 
     android:layout_width="0dip" 
     android:layout_height="0dip" 
     android:layout_weight="50" /> 

</LinearLayout> 

の割合のようにそれらを使用することができます。ここTextViewには、画面幅の50%を占め、他のビューが取って目に見えないスペーサーの一種でありますスクリーン幅のもう一方の50%。この(EclipseのXMLプレビュー)のようになります

TextView wrapping at 50%

それは画面の50%になったとき、あなたがTextViewのラップを見ることができるように。すべてのサイズの画面で作業する。

+0

それはトリックを行います。ありがとう。テキストサイズはどうですか?同じように拡大縮小することができます。 – mia

+0

Nopeはテキストサイズに「sp」を使用します – Blundell

+0

私はspを試しましたが、私の質問で説明したのと同じ効果があります。ですから、大文字と小文字の異なるスタイルを作成する必要があります。私は単一のxmlを使用してそれをacheive! – mia

2

いけないアンドロイドとしてTextViewのための静的な幅を設定し、自動的に

  android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 

を使用して、正しいサイズを、それを拡張します基本的には、TextViewはデバイスの幅のフルサイズになり、テキストの必要な高さにのみ高さがラップされます。

あなたが望むなら、あなたは幅のためのwarp_contentを行うこともできます。これが最善の方法です。静的に設定する場合は、XMLを使用して異なるレイアウトを作成する必要があります。

+0

申し訳ありませんが、それは私の質問に答えません。またはこれは制限です。 – mia

関連する問題