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