0

「match_parent」と「wrap_content」、「sp」と「dp」、および相対レイアウトを使用したさまざまな画面サイズのサポートに関するAndroidの記事を読みました。私はこれらすべての提案を実装しましたが、それでもEclipseのXMLエディターで画面のサイズをタブレットに変更しても、TextViewsとButtonsのフォントサイズは大きい方に適応するようにまったく変更されていないようです。画面サイズ。同じことが小さな画面(3.2インチなど)にも当てはまります。誰か提案はありますか?

4

3 に答える 3

3

@CSmithの回答から多額の借用をする(ただし、有効であるため、彼の回答を編集したくない):

レイアウト:

<TextView
 android:id="@+id/yourID"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:text="My String"
 style="@style/myStyle"
/> 

values / styles.xml:

<?xml version="1.0" encoding="utf-8" ?> 
<resources>
 <style name="myStyle">
  <item name="android:textStyle">bold</item> 
  <item name="android:textColor">#FFFFFFFF</item> 
  <item name="android:textSize">@dimen/my_textsize</item> 
  <item name="android:shadowColor">#FF000000</item> 
  <item name="android:shadowDx">1</item> 
  <item name="android:shadowDy">-1</item> 
  <item name="android:shadowRadius">1</item> 
 </style>
</resources>

values /dimens.xml

<resources>    
    <dimen name="my_textsize">14sp</dimen>
</resources>

値-xlarge/dimens.xml

<resources>    
    <dimen name="my_textsize">20sp</dimen>
</resources>

これにより、通常のデバイスでは14spのフォント、x-largeデバイスでは20spのフォントが得られ、変更されるのはフォントサイズのみであるため、個別のXMLファイルでの重複が削減されます。

sp / dpディメンションになるものはすべて、dimens.xmlファイルにとして入れることができます。

于 2012-07-23T00:21:56.730 に答える
2

レイアウト:

<TextView android:id="@+id/yourID" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="My String" style="@style/myStyle" /> 

values / styles.xml:

<?xml version="1.0" encoding="utf-8" ?> 
<resources>
 <style name="myStyle">
  <item name="android:textStyle">bold</item> 
  <item name="android:textColor">#FFFFFFFF</item> 
  <item name="android:textSize">14sp</item> 
  <item name="android:shadowColor">#FF000000</item> 
  <item name="android:shadowDx">1</item> 
  <item name="android:shadowDy">-1</item> 
  <item name="android:shadowRadius">1</item> 
 </style>
</resources>

値-xlarge/styles.xml:

<?xml version="1.0" encoding="utf-8" ?> 
<resources>
 <style name="myStyle">
  <item name="android:textStyle">bold</item> 
  <item name="android:textColor">#FFFFFFFF</item> 
  <item name="android:textSize">20sp</item> 
  <item name="android:shadowColor">#FF000000</item> 
  <item name="android:shadowDx">1</item> 
  <item name="android:shadowDy">-1</item> 
  <item name="android:shadowRadius">1</item> 
 </style>
</resources>

これにより、通常のデバイスでは14spフォント、x-largeデバイスでは20spフォントが得られます。

于 2012-07-12T15:08:47.713 に答える
1

'sp'や'dp'などの密度に依存しない単位を使用するポイントは、画面に関係なく、ユーザーの観点からテキストサイズが実際には同じままであるということです。

そのため、XMLエディターで画面を変更すると、表示される画面領域は変更されますが、テキストは同じサイズのままになります。

于 2012-07-12T14:26:20.760 に答える