Сегодня хочу рассказать как создавать виджет для Android'a, недавно сам задался таким вопросом, и когда начал рыть как создавать, накопал туеву xучу статей, но во всех статьях были только куски кода которые не было ясно куда совать, по этому я решил написать собственную статью по этому поводу.
Начнем писать виджет. Создаем проект в Eclipse — File — New — Progect — Android Project — SimpleActivity
Для начала открываем AndroidManifest.xml, нажимаем ctrl+a и del, копируем код который ниже
AndroidManifest.xml____________________________________________________________
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
<!--package проекта-->
package="com.api.app"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name">
<!--Определяем наш файл класса что бы можно было с ним работать-->
<receiver android:name="NapomniActivity" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider" android:resource="@xml/manifest" />
</receiver>
<!--конец-->
</application>
<uses-sdk android:minSdkVersion="8"/>
</manifest>
Это объясняет Eclipse что мы создаем виджет, а не обычную программу. Дальше нам нужно заполнить main.xml, открываем его, удаляем весь код и вставляем следующий код:
main.xml_______________________________________________________________________
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/Widget"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:gravity="center_vertical"
android:background="@drawable/frame">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="пыщ пыщ!!!!111" />
</RelativeLayout>
В этом файле мы задаем общий вид самого виджета.
Фонавая картинка — .
Теперь нам нужно описать наш виджет, чтобы устройство могло понять с чем имеет дело. Для этого создаем папку xml в разделе res (res/xml/) и в папке xml создаем файл manifest.xml (res/xml/manifest.xml) в который заносим следующий код:
manifest.xml_________________________________________________________________
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="294dp"
android:minHeight="72dp"
android:updatePeriodMillis="0"
android:initialLayout="@layout/main">
</appwidget-provider>
Наш файл SimpleActivity.java будет пустой так как наш виджет ничего делать не будет.
SimpleActivity.java__________________________________________________________
import android.appwidget.AppWidgetProvider;
public class widget extends AppWidgetProvider
{}
Все компилируем проект нажимаем кнопку menu в эмуляторе, дальше
2.
3.
4.
и наконец
5.
В следующем посте про виджеты я расскажу как повесить на них события, по правде сам еще не разобрался до конца :) Спасибо за внимание, ждите дальше моих постов.
Комментариев нет:
Отправить комментарий