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