我正在尝试创建一个可放置在android主屏幕上的图标/小部件(1个单元格x 1单元格).该小部件的外观和行为与android中的其他标准快捷方式完全相同.它将有一个图标,在该标签下,它可以通过轨迹球(高亮显示)进行选择,它将在选择/点击时突出显示.
如何创建此主屏幕小部件?
我是否必须使用code/xml自己创建小部件,或者是否有一些标准的xml,样式,主题和代码可用于确保小部件与其他主屏幕小部件具有相同的样式/主题?
我目前有以下内容
RES /抽拉/ 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>
Run Code Online (Sandbox Code Playgroud)
RES /布局/ 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>
Run Code Online (Sandbox Code Playgroud)
生成的窗口小部件看起来有些接近,但它不可选,单击时不会突出显示,并且标签不完全位于正确的位置或正确的样式.
任何想法,如果有正确的方法,或者我应该继续努力,直到我更接近?