1

私は多くの関連するトピックについて研究しましたが、トピックは主に画像を中心に展開しています。私はこれを理解していました:http ://developer.android.com/guide/practices/screens_support.htmlしかし、フォントの動的なサイズ変更のアイデアは実際にはわかりません。

画像は問題ありませんが、ldpi、mdpi、hdpi、xhdpiを使用しました。ただし、フォントについては、サイズを変更する方法がわかりません。誰?

私のコードは次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/layoutHeader"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/headerimage"
android:orientation="horizontal">

<TextView
    android:id="@+id/headerTitle"
    android:layout_width ="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:textColor="#FFF"
    android:textSize="28dp"
android:textStyle="bold"
    android:text="Some Random Banner Title"
    style="@style/headerTextStyle"
 />

<ImageButton
    android:id="@+id/btnPlus"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_marginRight="5dp"
    android:layout_marginTop="6dp"
    android:background="#0000"
    android:scaleType="centerCrop"
    android:src="@drawable/plus" />

<ImageButton
    android:id="@+id/btnInfo"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginTop="6dp"
    android:background="#0000"
    android:scaleType="centerCrop"
    android:src="@drawable/info" />

<ImageButton
    android:id="@+id/btnGuide"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_centerVertical="true"
    android:layout_toLeftOf="@+id/btnPlus"
    android:background="#0000"
    android:scaleType="centerCrop"
    android:src="@drawable/guide" />

</RelativeLayout>
4

1 に答える 1

4

テキストサイズをスタイルリソースに入れてから、画面サイズに別のスタイルリソースファイルを使用します。

したがって、res / values-large / style.xml、res / values-small / style.xmlなどがあります。これらの各スタイルには、異なるdp値を持つテキストサイズのアイテムが含まれます。hdpi、mdpi、ldpiなどは、画面サイズではなく、ピクセル密度に関係していることを忘れないでください。

たとえば、res / values / style.xmlにある場合、次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="headerTextStyle" >
    <item name="android:textSize">28dp</item>
   ...
</style>
</resources>

別のリソースファイルで、大画面(res / values-large / style.xml)の場合を想定します。

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="headerTextStyle" >
    <item name="android:textSize">46dp</item>
   ...
</style>
</resources>

次に、もちろんこのスタイルを要素に適用すると、システムはデバイスの画面サイズに基づいて正しいスタイルを選択します。同じファイルに複数のスタイルを指定できます。1つはヘッダーテキスト用、もう1つは通常のテキスト用です。 CSSと同様に、必要なテキスト。

または、res / layout-large / layout.xml、res / layout-small / layout.xmlなど、同様に修飾されたリソースディレクトリにレイアウトファイルを複製し、それぞれに異なるテキストサイズを設定することもできますが、これにより、不必要に多くのxmlが複製されます。 。

于 2012-11-01T02:42:08.830 に答える