بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

ساخت ویجت + ( اموزش )

مدیریت گفتگو
android 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام دوستان میخوام اموزش ساخت ویجت رو بزارم.

اول از همه لایه میسازی و اسمش رو میزاری widget

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="8dip" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="0.45"
        android:src="@drawable/ic_launcher" />

</LinearLayout>

 

و بعد توی پوشه res یه پوشه میسازین به اسم xml بعد داخل پوشه xml یه Android Xml File میسازی و Resource Type تبدیل میکنی به AppWidget provider وبعد این کد رو کپی میکنی داخلش 

 <?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
     android:initialLayout="@layout/activity_main" 
     android:minWidth="144dp" 
     android:minHeight="72dp" 
     android:updatePeriodMillis="0">
</appwidget-provider>

واحالا میریم سراغ manifest برنامه  واین کد رو کپی میکنی داخل تگ application 

 <receiver android:name="Main" >
    	<intent-filter>
        	<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
    	</intent-filter>
    		<meta-data android:name="android.appwidget.provider"
     		android:resource="@xml/widget" />
	</receiver>

و حالا یه کلاسی میسازی و اسمش رو میزاری MyWidgetProvider و extends میکنی به AppWidgetProvider مثل کد های زیر رو کپی میکنی داخلش :

 public void onUpdate(Context context, AppWidgetManager appWidgetManager,
		int[] appWidgetIds) {
	
	for(int i=0;i<appWidgetIds.length;i++){
		int appWidgetId = appWidgetIds[i];

       
        Intent intent = new Intent(context, mm.class);//برای رفتن به صفحه مورد نظر
        PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
        
        RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);
        views.setOnClickPendingIntent(R.id.imageView1, pendingIntent);
        appWidgetManager.updateAppWidget(appWidgetId, views);
	}
}
	 
}

 

 با این میتونی یه چیزی مثل این بسازی و کار های دیگه...

 

نظرات

moji19 11 سال پیش
ممنونم میشه یه مقدار بیشتر در مورد ساختار برنامه توضیح بدید؟
moji19 11 سال پیش
ممنونم میشه یه مقدار بیشتر در مورد ساختار برنامه توضیح بدید؟
moji19 11 سال پیش
ممنونم میشه یه مقدار بیشتر در مورد ساختار برنامه توضیح بدید؟
moji19 11 سال پیش
میشه یک نمونه برنامه بذارید؟
android 11 سال پیش
دوست عزیز نمونه برنامه مثل ویجت کافه بازار مثل ویجت ساعت مثل ویجت دکتر باتری باتری و...

هنوز پاسخی ثبت نشده است


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .