2011년 12월 1일 목요일

Android Widget 생성

1) AndroidManifest.xml 에 AppWidget 선언
        <receiver android:name="phoneinfoWidgetProvider" >
            <intent-filter>
               <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
            </intent-filter>
            <meta-data android:name="android.appwidget.provider"
                       android:resource="@xml/phoneinfo_provider" />
        </receiver>



2)  1)에서 정의한 android:resource="@xml/phoneinfo_provider" 의 설정에 따라 /res/xml 디렉토리에 phoneinfo_provider.xml 파일을 생성하여 AppWidgetProviderInfo Meta Data 추가
 <?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="30000"
      android:initialLayout="@layout/phoneinfo_widget"
      android:configure="com.shlee.pi.PhoneInfoWidgetConfigure" >
</appwidget-provider>



 3) App Widget Layout 선언 (phoneinfo_widget.xml)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"            
     android:id="@+id/layout_widget"            
     android:orientation="horizontal"            
     android:layout_width="fill_parent"            
     android:layout_height="fill_parent"            
     android:padding="10dp"           
     >  
              
      <TextView android:id="@+id/label_attr"            
                android:layout_width="wrap_content"            
                android:layout_height="wrap_content" 
                android:textSize="14sp"
                android:textStyle="bold"            
                android:textColor="#FFAA00"/>
              
      <TextView android:id="@+id/value_attr"            
                android:layout_width="wrap_content"            
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_toRightOf="@id/label_attr"
                android:gravity="right"
                android:layout_gravity="right"
                android:textSize="14sp"              
                android:textColor="#FFF" />
</RelativeLayout>

댓글 없음:

댓글 쓰기