Android ICS 1x1小部件文本标签

时间:2012-07-03 00:05:50

标签: android android-4.0-ice-cream-sandwich android-appwidget

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

有人有任何想法吗?

1 个答案:

答案 0 :(得分:1)

我认为你不能把TextView放到布局中。你可以做的是从一个内置的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>