【发布时间】:2010-04-16 08:39:54
【问题描述】:
我正在尝试创建一个可以放置在 android 主屏幕上的图标/小部件(1 个单元格 x 1 个单元格)。该小部件的外观和行为与 android 中的其他标准快捷方式完全相同。它将有一个图标,并在该标签下,可以使用轨迹球(可以突出显示)选择它,当它被选中/单击时会突出显示。
如何创建这个主屏幕小部件?
我是否必须使用代码/xml 自己创建小部件,或者是否有一些标准的 xml、样式、主题、代码可以用来确保小部件与其他主屏幕小部件具有相同的样式/主题?
我目前有以下
res/drawable/corners.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/Corners">
<stroke android:width="4dp" android:color="#CC222222" />
<padding android:left="4dp" android:top="1dp" android:right="4dp" android:bottom="1dp" />
<corners android:radius="4dp" />
</shape>
res/layout/widget.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/Widget"
android:layout_width="72dip"
android:layout_height="72dip"
android:orientation="vertical"
android:focusable="true"
android:gravity="center_horizontal"
style="@android:style/Widget"
>
<ImageView
android:id="@+id/WidgetIcon"
android:src="@drawable/icon"
android:layout_width="fill_parent"
android:layout_height="50dip"
android:paddingTop="3dip"
android:gravity="center"
/>
<TextView
android:id="@+id/WidgetLabel"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:text="@string/app_name"
android:textSize="15dip"
android:background="@drawable/corners"
/>
</LinearLayout>
生成的小部件看起来有些接近,但无法选择,单击时不会突出显示,并且标签的位置或样式不正确。
任何想法,如果有正确的方法可以做到这一点,还是我应该继续处理上述问题,直到我更接近?
【问题讨论】:
-
您找到解决方案了吗?它看起来与标准标签一模一样?
-
下面的答案是正确的,你不应该让小部件看起来像快捷方式,因为不同的操作系统可能会以不同的方式显示它们的快捷方式!因此,如果您为 HTC 手机制作一个,它可能与 MOTOBLUR 手机上显示的快捷方式不匹配。话虽如此,我还是做了,让我的一个看起来像 HTC :)