میخوای وارد بازار کار بشی و محصولات خودت رو بفرشی همین الان ثبت نام کن
0

Action provider در اندروید

Action provider در اندروید چیست و چه کاربردی دارد؟

Action provider در واقع همان action است که layout اختصاصی خود را دارد. Action در ابتدا ممکن است به صورت یک button یا آیتم در منو ظاهر شود، اما زمانی که کاربر بر روی action کلیک می کند، action provider رفتار action را بر اساس تعریف شما، کنترل و هدایت می کند. برای مثال، action bar می تواند با نمایش یک منو به کلیک کاربر واکنش نشان دهد. به عبارت دیگر، action provider به شما امکان می دهد تا قابلیت تعامل و رفتار پیچیده را در قالب تنها یک action به راحتی پیاده سازی نمایید. این action قادر است action view هایی تولید کند که در action bar استفاده می شوند، زیر منوها را به صورت پویا و در زمان اجرای اپلیکیشن با داده پر کند و فراخوانی های پیش فرض action را مدیریت نماید.

کلاسی که action bar از آن مشتق می شود، کلاس پایه/پدر ActionProvider می باشد.
در حال حاضر، محیط اندروید ( Android platform
) دو action provider زیر را در اختیار توسعه دهندگان قرار می دهد

ShareActionProvider .1

MediaRouteActionProvider .2


استفاده از  ShareActionProvider

تمرین زیر استفاده از ShareActionProvider را نمایش می دهد. این action provider به شما اجازه می دهد تا محتوای انتخابی را از اپلیکیشن هایی که Intent.ACTION_SEND را ثبت کرده اند، دریافت نمایید.
جهت استفاده از ShareActionProvider می بایست یک آیتم در منو ویژه ی آن تعریف کرده و intent ای به آن تخصیص دهید که داده های مورد نظر برای اشتراک را دربرمی گیرد.

 

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/menu_share"
android:title="Share"
android:showAsAction="ifRoom"
android:actionProviderClass="android.widget.ShareActionProvider" />
<item
android:id="@+id/item1"
android:showAsAction="ifRoom"
android:title="More entries...">
</item>
</menu>
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
// Get the ActionProvider for later usage
provider = (ShareActionProvider) menu.findItem(R.id.menu_share)
.getActionProvider();
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_share:
doShare();
break;
default:
break;
}
return true;
}
public void doShare() {
// populate the share intent with data
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, "This is a message for you");
provider.setShareIntent(intent);
}

امیدواریم  آموزش تعریف fragment برای activity در اندروید نیز برای شما مفید واقع شده باشد و ادامه آموزش برنامه نویسی اندروید رو دنبال کنید . برای مطالعه پست‌ها بیشتر ، ما را در مدرسه کدنویسی تلگرام  و یا در تی جوان اینستاگرام دنبال کنید.

نظراتتون رو زیر همین پست با ما به اشتراک بگذارید.

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

×

سلام کاربر عزیز

هر سوالی دارید در این بخش هستیم تا شما رو راهنمائی کنیم

روی لوگومون کلیک کنید

× چطور میتونم کمکتون کنم؟