1

アイコンの下にテキスト ラベルを表示し、デバイスのデフォルトのテキスト スタイルを使用する ICS 用の 1x1 ウィジェットを作成しようとしていますが、その方法がわかりません。私のGalaxy Nexusに付属している多くの1x1ウィジェットにはこの機能があるので、それが可能であることはわかっています. レイアウト ファイルに textView をハードコーディングしたくありません。これを行うと、別のフォントやテキスト サイズなどを使用する可能性のある他のデバイスで見栄えが悪くなります。

誰でも何か考えがありますか?

4

1 に答える 1

1

レイアウトに a を配置することはできないと思いますTextView。できることは、組み込みの Android スタイルの 1 つからスタイルを選択することです。そうすれば、他のすべてのアイコン/ウィジェット ラベルと一致するはずです。これが他の API バージョンでも機能することを願っていますが、私の ICS 電話では正しく表示されることがわかっています。がここで使用するのに最適かどうかもわかりませFrameLayoutんが、少し実験してみようと思いました。重要な部分はTextView最後にあります。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <FrameLayout
        android:id="@+id/FrameLayout1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1" >
        <ImageButton
            android:id="@+id/buttonimg"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/appwidget_dark_bg_clickable"
            android:clickable="true"
            android:contentDescription="@string/app_name" />
        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:contentDescription="@string/app_name"
            android:src="@drawable/arrow_dark" />
    </FrameLayout>
    <TextView
        android:id="@+id/labelTextView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textAppearance="@android:style/TextAppearance.DeviceDefault.Widget"
        android:text="@string/widgetlabeldefault" />
</LinearLayout>
于 2012-11-13T01:08:37.560 に答える