1

我正在尝试为 ICS 制作一个 1x1 小部件,它在图标下方显示文本标签,并使用设备默认文本样式,但我无法找出这是如何完成的。我知道这是可能的,因为我的 Galaxy Nexus 随附的许多 1x1 小部件都具有此功能。我不想在布局文件中对 textView 进行硬编码,因为这样做会使它在其他设备上看起来很糟糕,这些设备可能使用不同的字体和文本大小等。

有人知道吗?

4

1 回答 1

1

我认为您无法绕过将 aTextView放入布局中。您可以做的是从一种内置的 android 样式中为其选择样式。这样它应该匹配所有其他图标/小部件标签。希望这也适用于其他 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 回答