جستجو در انجمن

در حال نمایش نتایج برای برچسب های 'معرفی کتابخانه'.



تنظیمات بیشتر جستجو

  • جستجو بر اساس برچسب

    برچسب ها را با , از یکدیگر جدا نمایید.
  • جستجو بر اساس نویسنده

نوع محتوا


برنامه نویسی اندروید | آموزش برنامه نویسی اندروید | آموزش اندروید

  • اندروید
    • ابزار های برنامه نویسی اندروید
    • آموزش برنامه نویسی اندروید
    • رفع مشکلات و سوالات
    • امنیت در اندروید
    • پروژه های اندروید
  • پشتیبانی اندروید
    • اندروید Lollipop
    • اندروید marshmallow
    • اندروید nougat
    • اندروید Oreo
  • کاتلین (Kotlin)
    • آموزش های برنامه نویسی Kotlin
    • سوالات و رفع مشکلات Kotlin
  • مباحث مرتبط با اندروید
    • ابزارها و سایتهای مفید
    • گرافیک موبایل
    • آموزش های ویدئویی
    • برنامه نویسی جاوا
  • تکنولوژی های اندروید
    • وب موبایل
    • توسعه اندروید با #C
    • توسعه اندروید با Basic4Android
  • متفرقه
    • اپلیکیش های ایرانی
    • برنامه نویسی
    • درخواست همکاری
    • مباحث متفرقه
    • مهارتهای فروش و بازاریابی
  • پشتیبانی محصولات مارکت
    • پرسش و پاسخ مرتبط با مارکت انجمن اندروید ایران
    • پشتیبانی مارکت پروژه های اندروید
    • پشتیبانی مارکت آموزش اندروید
    • پشتیبانی مارکت گرافیک موبایل
  • انجمن اندروید ایران
    • اخبار و اعلانات
    • صندوق پيشنهادات و انتقادات
    • تازه‌های دنیای کامپیوتر و فناوری
    • قوانین انجمن تخصصی اندروید ایران

دسته ها

  • پروژه اندروید
    • سورس پروژه اندروید
    • کامپوننت های اندروید
    • کتابخانه های اندروید
  • آموزش اندروید
    • فیلم آموزشی کاربردی
    • مقالات آموزشی اندروید
  • گرافیک موبایل
    • قالب طراحی اپلیکیشن
  • اپلیکیشن های اندروید
    • کاربردی
    • کسب و کار
    • آموزش
    • کتاب‌ها و منابع
    • ویدئو و رسانه
    • بازی‌

تقویم ها

  • Community Calendar

21 نتیجه پیدا شد

  1. یک کتابخانه بسیار زیبا که جابجایی بین تب ها در فرگمنت ها را بصورت حبابی نمایش می دهد دانلود : compile 'com.github.florent37:bubbletab:1.0.2' BubbleTab را به صورت زیر به layout.xml خود اضافه کنید شما میتوانید دو پارامتر زیر را اضافه کنید circleColor circleRatio <com.github.florent37.bubbletab.BubbleTab android:id="@+id/bubbleTab" android:layout_width="match_parent" android:layout_height="wrap_content" android:clipToPadding="false" android:background="@android:color/white" android:elevation="10dp" app:bubbleTab_circleColor="@color/colorAccent" app:bubbleTab_circleRatio="1.25" > <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:padding="16dp" android:src="@drawable/bubbletab_ic_hourglass_selector" /> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:padding="16dp" android:src="@drawable/bubbletab_ic_event_selector" /> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:padding="16dp" android:src="@drawable/bubbletab_ic_query_selector" /> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:padding="16dp" android:src="@drawable/bubbletab_ic_search_selector" /> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:padding="16dp" android:src="@drawable/bubbletab_ic_home_selector" /> </com.github.florent37.bubbletab.BubbleTab> <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent"/> سپس برای set کردن viewPager از روش زیر استفاده کنید bubbleTab.setupWithViewPager(viewPager); پشتیبانی: BubbleTab BubbleTab-master.zip
  2. کتابخانه Material Bottom Navigation یک کتابخانه بسیار جذاب و زیبا می باشد که دارای متریال دیزاینی منحصر به فرد است که باعث می شود که شما در طراحی و بازدهی اپلیکیشن های خود یک قدم جلوتر باشید برای دانلود این کتابخانه در قسمت Gradle مورد زیر را اضافه کنید compile 'com.github.armcha:LuseenBottomNavigation:1.8.2' Maven <dependency> <groupId>com.github.armcha</groupId> <artifactId>LuseenBottomNavigation</artifactId> <version>1.8.2</version> <type>pom</type> </dependency> برای اضافه کردن BottomNavigationView به قسمت layout مورد زیر را اضافه کنید <com.luseen.luseenbottomnavigation.BottomNavigation.BottomNavigationView android:id="@+id/bottomNavigation" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" /> سپس آیتم های BottomNavigation را اضافه کنید BottomNavigationView bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottomNavigation); BottomNavigationItem bottomNavigationItem = new BottomNavigationItem ("Record", ContextCompat.getColor(this, R.color.firstColor), R.drawable.ic_mic_black_24dp); BottomNavigationItem bottomNavigationItem1 = new BottomNavigationItem ("Like", ContextCompat.getColor(this, R.color.secondColor), R.drawable.ic_favorite_black_24dp); bottomNavigationView.addTab(bottomNavigationItem); bottomNavigationView.addTab(bottomNavigationItem1); متد OnBottomNavigationItemClickListener bottomNavigationView.setOnBottomNavigationItemClickListener(new OnBottomNavigationItemClickListener() { @Override public void onNavigationItemClick(int index) { Toast.makeText(MainActivity.this, "Item " +index +" clicked", Toast.LENGTH_SHORT).show(); } }); اگر شما از ViewPager استفاده می کنید شما میتوانید از BottomNavigationView برای تغییر color مورد زیر را set کنید ContextCompat.getColor(context, R.color.firstColor) bottomNavigationView.setUpWithViewPager(yourPager , colorResources , imageResources); شما می توانید انیمیشن اسلاید را هنگام استفاده از viewPager غیرفعال کنید bottomNavigationView.disableViewPagerSlide(); شما می توانید از Bottom Navigation به صورت custom استفاده کنید: <com.luseen.luseenbottomnavigation.BottomNavigation.BottomNavigationView android:id="@+id/bottomNavigation" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" app:bnv_colored_background="true" app:bnv_with_text="false" app:bnv_shadow="true" app:bnv_tablet="false" app:bnv_viewpager_slide="true" app:bnv_active_color="@color/colorPrimary" app:bnv_active_text_size="@dimen/bottom_navigation_text_size_active" app:bnv_inactive_text_size="@dimen/bottom_navigation_text_size_inactive"/> همچنین شما میتوانید با set کردن متد زیر برای حالت های تبلت استفاده کنید bottomNavigationView.activateTabletMode(); پشتیبانی LuseenBottomNavigation LuseenBottomNavigation-master.zip
  3. گاهی اوقات لازم است که در بالای ViewPager یا ListView یک نمایه را اضافه کنیم. DragTopLayout یک ViewGroup است که حاوی یک نمایه است یا View می باشد که به صورت زیر عمل می کند و شما می توانید این امکانات جذاب و زیبا رو به اپلیکیشن خود اضافه کنید. build.gradle dependencies { compile 'com.github.chenupt.android:dragtoplayout:1.2.1@aar' } و کد زیر را به قسمت Layout o,n خود اضافه کنید: <github.chenupt.dragtoplayout.DragTopLayout android:layout_width="match_parent" android:layout_height="match_parent"> <!--top view--> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="vertical"> ... </LinearLayout> <!--content view--> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> ... </LinearLayout> </github.chenupt.dragtoplayout.DragTopLayout> https://github.com/chenupt/DragTopLayout DragTopLayout-master.zip
  4. منوی کشویی یا همان navigation drawer یکی از امکاناتی است که اکثر توسعه دهندگان اندروید آنرا در پروژه های خود پیاده سازی می کنند.هرچند روش های مختلفی برای پیاده سازی navigation drawer وجود دارد ولی در این روش یکی از آسان ترین و سریع ترین روش پیاده سازی منوی کشویی می باشد. Gradle dependency repositories { // ... maven { url 'https://jitpack.io' } } dependencies { compile 'com.heinrichreimersoftware:material-drawer:2.3.3' } در مرحله اول باید اکتیویتی مورد نظر extend بشه از DrawerActivity بصورت زیر : public class MainActivity extends DrawerActivity {} تنظیمات قسمت profile addProfile( new DrawerProfile() .setRoundedAvatar((BitmapDrawable)getResources().getDrawable(R.drawable.profile_avatar)) .setBackground(getResources().getDrawable(R.drawable.profile_cover)) .setName(getString(R.string.profile_name)) .setDescription(getString(R.string.profile_description)) .setOnProfileClickListener(new DrawerProfile.OnProfileClickListener() { @Override public void onClick(DrawerProfile drawerProfile, long id) { Toast.makeText(MainActivity.this, "Clicked profile #" + id, Toast.LENGTH_SHORT).show(); } }) ); گروهبندی drawer list addItem( new DrawerItem() .setImage(getResources().getDrawable(R.drawable.ic_first_item)) .setTextPrimary(getString(R.string.title_first_item)) .setTextSecondary(getString(R.string.description_first_item)) .setOnItemClickListener(new DrawerItem.OnItemClickListener() { @Override public void onClick(DrawerItem drawerItem, long id, int position) { Toast.makeText(MainActivity.this, "Clicked first item #" + id, Toast.LENGTH_SHORT).show(); } }) ); addDivider(); addItem( new DrawerItem() .setImage(getResources().getDrawable(R.drawable.ic_second_item)) .setTextPrimary(getString(R.string.title_second_item)) .setOnItemClickListener(new DrawerItem.OnItemClickListener() { @Override public void onClick(DrawerItem drawerItem, long id, int position) { Toast.makeText(MainActivity.this, "Clicked second item #" + id, Toast.LENGTH_SHORT).show(); } }) ); قسمت زیر را به style برنامه اضافه کنید (theme) <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/color_primary</item> <item name="colorPrimaryDark">@color/color_primary_dark</item> <item name="colorAccent">@color/color_accent</item> <item name="actionBarStyle">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item> </style> برای افزودن یا تغییر theme منوی کشویی از روش زیر استفاده کنید: setDrawerTheme( new DrawerTheme(this) .setBackgroundColorRes(R.color.background) .setTextColorPrimaryRes(R.color.primary_text) .setTextColorSecondaryRes(R.color.secondary_text) .setTextColorPrimaryInverseRes(R.color.primary_text_inverse) .setTextColorSecondaryInverseRes(R.color.secondary_text_inverse) .setHighlightColorRes(R.color.highlight) ); https://github.com/HeinrichReimer/material-drawer material-drawer-master.zip
  5. این کتابخانه بسیار عالی و حرفه ای شامل یک کامپوننت برای Material Design اندروید می باشد همانطور که در زیر مشاهده می کنید: build.gradle allprojects { repositories { ... maven { url 'https://jitpack.io' } } } dependency dependencies { compile 'moe.feng:MaterialStepperView:latest-version' } اگر شما مستقیما از StepperItemView استفاده کنید، باید آیتم ها را به صورت دستی در XML، تنظیم کنید. چطونگی تنظیم آیتم های StepperItemView در این لینک در دسترس می باشد. لینک دانلود کتابخانه: https://github.com/fython/MaterialStepperView دانلود مستقیم فایل: MaterialStepperView-master.zip
  6. کتابخانه FlowingDrawer یک کتابخانه بسیار عالی و زیبا دارای متریال منحصر به فرد می باشد که شما میتوانید یک منوی بسیار برای اپلیکیشن خود قرار دهید موارد زیر را به Gradle پروژه خود اضافه کنید: repositories { jcenter() } dependencies { compile 'com.mxn.soul:flowingdrawer-core:2.0.0' compile 'com.nineoldandroids:library:2.4.0' } activity_main.xml <com.mxn.soul.flowingdrawer_core.FlowingDrawer xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawerlayout" android:layout_width="match_parent" android:layout_height="match_parent" android:clipChildren="false" android:clipToPadding="false" app:edPosition="1" app:edMenuSize="260dp" app:edMenuBackground="#dddddd"> <!--content--> <RelativeLayout android:id="@+id/content" android:layout_width="match_parent" android:layout_height="match_parent"/> <!--menu--> <com.mxn.soul.flowingdrawer_core.FlowingMenuLayout android:id="@+id/menulayout" android:layout_width="match_parent" android:layout_height="match_parent"> <FrameLayout android:id="@+id/id_container_menu" android:layout_width="match_parent" android:layout_height="match_parent"/> </com.mxn.soul.flowingdrawer_core.FlowingMenuLayout> </com.mxn.soul.flowingdrawer_core.FlowingDrawer> MainActivity mDrawer = (FlowingDrawer) findViewById(R.id.drawerlayout); mDrawer.setTouchMode(ElasticDrawer.TOUCH_MODE_BEZEL); mDrawer.setOnDrawerStateChangeListener(new ElasticDrawer.OnDrawerStateChangeListener() { @Override public void onDrawerStateChange(int oldState, int newState) { if (newState == ElasticDrawer.STATE_CLOSED) { Log.i("MainActivity", "Drawer STATE_CLOSED"); } } @Override public void onDrawerSlide(float openRatio, int offsetPixels) { Log.i("MainActivity", "openRatio=" + openRatio + " ,offsetPixels=" + offsetPixels); } }); https://github.com/mxn21/FlowingDrawer FlowingDrawer-master.zip
  7. ChatKit یک کتابخانه طراحی شده برای ساده سازی توسعه ی رابط کاربری اپلیکیشن هایی که به عنوان چت می باشند استفاده می شود. این امکانات انعطاف پذیر برای ظاهر طراحی، سفارشی سازی و مدیریت داده ها است. امکانات: - پیام های رسانه ای پیش فرض و سفارشی - طرح بندی کاملا قابل تنظیم(با استفاده از رنگ های خود، ظاهر متن، drawable، selectors و اندازه) و یا حتی ایجاد نشانه های سفارشی خود و / یا خود را برای رفتار منحصر به فرد؛ - لیستی از گفتگوها، از جمله چتهای گروهی و گروهی، نشانگرهای پیامهای خوانده نشده و آخرین پیام های کاربر؛ - لیست پیام ها (ورودی و خروجی) با صفحه بندی تاریخ و هدر های محاسبه شده در حال حاضر؛ - آواتار های مختلف بدون تحقق خاصی از بارگذاری تصویر - شما می توانید از هر کتابخانه ای که می خواهید استفاده کنید؛ - حالت انتخاب برای تعامل با پیام؛ - برجسته کردن لینک ها - قالب بندی آسان تاریخ - مدل های خود را برای گفتگو و پیام ها - هیچ تبدیل مورد نیاز وجود دارد؛ - آماده استفاده از نمایش ورودی؛ - انیمیشن های سفارشی (با توجه به استفاده از RecyclerView). دانلود از طریق Gradle compile 'com.github.stfalcon:chatkit:0.2.2' یا Maven <dependency> <groupId>com.github.stfalcon</groupId> <artifactId>chatkit</artifactId> <version>0.2.2</version> <type>pom</type> </dependency> https://github.com/stfalcon-studio/ChatKit ChatKit-master.zip
  8. کتابخانه ای بسیار عالی برای ایجاد و پیاده سازی انیمیشن بر روی TextView در اندروید که شما میتوانید برای متن های مورد نظر خود انیمیشن ایجاد کنید همانند چیزی که در زیر می بینید: repositories { maven { url 'https://oss.sonatype.org/content/repositories/snapshots' } } dependencies { implementation 'com.shazam:android-reflow-animator:1.0.0-SNAPSHOT' } برای حرکت از fromView به toView: new ReflowTextAnimatorHelper.Builder(fromView, toView) .buildAnimator() .start(); https://github.com/shazam/reflow-animator reflow-animator-master.zip
  9. یک کتابخانه بسیار جذاب و زیبا برای نمایش Progress به صورت Horizontal که شما با استفاده از این کتابخانه می توانید تصاویر و عکس های خود را همانند صفحه استوری اینستاگرام پیمایش کنید. build.gradle allprojects { repositories { ... maven { url "https://jitpack.io" } } } dependency dependencies { compile 'com.github.shts:StoriesProgressView:2.0.0' } xml layouts <jp.shts.android.storiesprogressview.StoriesProgressView android:id="@+id/stories" android:layout_width="match_parent" android:layout_height="3dp" android:layout_gravity="top" android:layout_marginTop="8dp" /> yourActivity public class YourActivity extends AppCompatActivity implements StoriesProgressView.StoriesListener { private StoriesProgressView storiesProgressView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); storiesProgressView = (StoriesProgressView) findViewById(R.id.stories); storiesProgressView.setStoriesCount(PROGRESS_COUNT); // <- set stories storiesProgressView.setStoryDuration(1200L); // <- set a story duration storiesProgressView.setStoriesListener(this); // <- set listener storiesProgressView.startStories(); // <- start progress } @Override public void onNext() { Toast.makeText(this, "onNext", Toast.LENGTH_SHORT).show(); } @Override public void onPrev() { // Call when finished revserse animation. Toast.makeText(this, "onPrev", Toast.LENGTH_SHORT).show(); } @Override public void onComplete() { Toast.makeText(this, "onComplete", Toast.LENGTH_SHORT).show(); } @Override protected void onDestroy() { // Very important ! storiesProgressView.destroy(); super.onDestroy(); } } https://github.com/shts/StoriesProgressView StoriesProgressView-master.zip
  10. این کتابخانه برای برداشت و برش تصویر به صورت هوشمند است که می تواند مرزهای یک تصویر را شناسایی و به صورت صحیح تصویر بریده شود که میتوانید انواع تصاوی هم از طریق camera و هم از طریق گالری را برش دهید. امکانات: تصویر را به شیوه ای هوشمند می توانید برش دهید حمایت از درگ یا کشیدن، اثر ذره بین برای بهبود موقعیت یابی، پشتیبانی از تنظیمات UI مانند خطوط کمکی، ماسک، درگ، ذره بین و غیره. build.gradle allprojects { repositories { ... maven { url 'https://jitpack.io' } } } dependencies { compile 'com.github.pqpo:SmartCropper:v1.1.3@aar' } Layout.xml <me.pqpo.smartcropperlib.view.CropImageView android:id="@+id/iv_crop" android:layout_width="match_parent" android:layout_height="match_parent" /> activity Code ivCrop.setImageToCrop(selectedBitmap); Bitmap crop = ivCrop.crop(); https://github.com/pqpo/SmartCropper SmartCropper-master.zip
  11. SwipeBack یک کتابخانه اندروید است که می تواند با استفاده از ان حرکات و رفتن به یک اکتیویتی را به طور خاص و جالب نمایش داد. شما می توانید جهت کشویی یا حرکت به سمت چپ یا راست را تعیین کنید مانند FROM_LEFT، FROM_TOP، FROM_RIGHT و FROM_BOTTOM . برای استفاده از این کتابخانه در قسمت Gradle مورد زیر را اضافه کنید: dependencies { compile 'com.gongwen:swipeback:1.0.2' } کد xml مربوط به بخش Layout <com.gw.swipeback.SwipeBackLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/swipeBackLayout" android:layout_width="match_parent" android:layout_height="match_parent" app:directionMode="left" app:isSwipeFromEdge="true" app:maskAlpha="125" app:swipeBackFactor="0.5"> <!-- SwipeBackLayout must contains only one direct child --> </com.gw.swipeback.SwipeBackLayout> <com.gw.swipeback.WxSwipeBackLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/swipeBackLayout" android:layout_width="match_parent" android:layout_height="match_parent" app:directionMode="left" app:isSwipeFromEdge="true" app:maskAlpha="125" app:swipeBackFactor="0.5"> <!-- WxSwipeBackLayout must contains only one direct child --> </com.gw.swipeback.WxSwipeBackLayout> نکته: اگر شما از WxSwipeBackLayout استفاده می کنید، باید آنرا در کلاس Application خود به صورت زیر وارد کنید: public class MainApplication extends Application { @Override public void onCreate() { super.onCreate(); WxSwipeBackActivityManager.getInstance().init(this); } } در قسمت onCreate مربوط به اکتیویتی کد زیر را وارد کنید: public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); //SwipeBackLayout is included in the layout setContentView(layoutId); SwipeBackLayout mSwipeBackLayout = (SwipeBackLayout) findViewById(R.id.swipeBackLayout); mSwipeBackLayout.setDirectionMode(SwipeBackLayout.FROM_LEFT); mSwipeBackLayout.setMaskAlpha(125); mSwipeBackLayout.setSwipeBackFactor(0.5f); mSwipeBackLayout.setSwipeBackListener(new SwipeBackLayout.OnSwipeBackListener() { @Override public void onViewPositionChanged(View mView, float swipeBackFraction, float SWIPE_BACK_FACTOR) { } @Override public void onViewSwipeFinished(View mView, boolean isEnd) { } }); } یا public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); SwipeBackLayout mSwipeBackLayout = new SwipeBackLayout(this); mSwipeBackLayout.addView(contentView); setContentView(mSwipeBackLayout); } یا public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); //SwipeBackLayout is not included in the layout setContentView(layoutId); mSwipeBackLayout = new SwipeBackLayout(this); mSwipeBackLayout.attachToActivity(this); } و حالا در قسمت them برای Style کد زیر را اضافه کنید <style name="Theme.Swipe.Back.NoActionBar" parent="AppTheme"> <item name="android:windowIsTranslucent">true</item> <item name="android:windowBackground">@android:color/transparent</item> </style> https://github.com/gongwen/SwipeBackLayout SwipeBackLayout-master.zip
  12. کتابخانه Expandable LinearLayout یک کتابخانه جذاب و جالب می باشد که هر سطر به صورت Expandable دارای یک منوی باز شونده می باشد.همانطور که در زیر مشاهده می کنید: قطعه کد زیر را در قسمت Dependency وارد کنید: allprojects { repositories { ... maven { url 'https://jitpack.io' } } } dependencies { compile 'com.github.iammert:ExpandableLayout:1.4.1' } قطعه کد زیر را در Layout خود وارد کنید: <iammert.com.expandablelib.ExpandableLayout android:id="@+id/el" android:layout_width="match_parent" android:layout_height="match_parent" app:parentLayout="@layout/layout_parent" app:childLayout="@layout/layout_child"/> Set renderer expandableLayout.setRenderer(new ExpandableLayout.Renderer<FruitCategory, Fruit>() { @Override public void renderParent(View view, FruitCategory model, boolean isExpanded, int parentPosition) { ((TextView) view.findViewById(R.id.tvParent)).setText(model.name); } @Override public void renderChild(View view, Fruit model, int parentPosition, int childPosition) { ((TextView) view.findViewById(R.id.tvChild)).setText(model.name); } }); Set listeners expandableLayout.setExpandListener(new ExpandCollapseListener.ExpandListener<FruitCategory>() { @Override public void onExpanded(int parentIndex, FruitCategory parent, View view) { //Layout expanded } }); expandableLayout.setCollapseListener(new ExpandCollapseListener.CollapseListener<FruitCategory>() { @Override public void onCollapsed(int parentIndex, FruitCategory parent, View view) { //Layout collapsed } }); Add section or children Section<FruitCategory, Fruit> section = new Section<>(); //defaut is false section.expanded = true; FruitCategory fruitCategory = new FruitCategory("Fruits"); Fruit fruit1 = new Fruit("Apple"); Fruit fruit2 = new Fruit("Orange"); section.parent = fruitCategory; section.children.add(fruit1); section.children.add(fruit2); expandableLayout.addSection(section); expandableLayout.addChild(fruitCategory, new Fruit("Grape")); Filter parent and children //make your parent class filterable class FruitCatefory implements Filterable{} //make your child class filterable class FruitCatefory implements Filterable{} Now, you can search in parents or children. Layout will be updated automatically. expendableLayout.filterParent("SEARCH PARAM") //or expendableLayout.filterChildren("SEARCH PARAM") https://github.com/iammert/ExpandableLayout ExpandableLayout-master.zip
  13. چیدمان Vega Scroll کتابخانه ای جذاب برای پیمایش RecyclerView می باشد که یک فریم جریان انیمیشن بسیار سبک زیبا است که در هنگام پیمایش محو می شود و head itemView را کاهش می دهد. قسمت زیر را به gradle اضافه کنید: compile 'com.stone.vega.library:VegaLayoutManager:1.0.1' xml file <android.support.v7.widget.RecyclerView android:id="@+id/main_recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" /> LayoutManager RecyclerView recyclerView = (RecyclerView) findViewById(R.id.main_recycler_view); recyclerView.setLayoutManager(new VegaLayoutManager()); RecyclerView.Adapter adapter = getAdapter(); recyclerView.setAdapter(adapter); https://github.com/xmuSistone/VegaLayoutManager VegaLayoutManager-master.zip
  14. از این کتابخانه برای ایجاد امکاناتی از قبیل پیمایش برای RecyclerView در اندروید استفاده می شود. MultiSnapRecyclerView به راحتی یک ویژگی snapping را فراهم می کند. این کتابخانه بسیار زیبا جذاب و قدرتمند است. dependencies { compile 'com.github.takusemba:multisnaprecyclerview:1.1.1' } xml file <com.takusemba.multisnaprecyclerview.MultiSnapRecyclerView android:layout_width="match_parent" android:layout_height="wrap_content" app:msrv_gravity="start" or center, end app:msrv_snap_count="2" /> items to scroll over layout manager LinearLayoutManager layoutManager = new LinearLayoutManager(this); multiSnapRecyclerView.setLayoutManager(layoutManager); multiSnapRecyclerView.setAdapter(adapter); multiSnapRecyclerView.setOnSnapListener(new OnSnapListener() { @Override public void snapped(int position) { // do something with the position of the snapped view } }); https://github.com/TakuSemba/MultiSnapRecyclerView MultiSnapRecyclerView-master.zip
  15. یک کتابخانه جذاب و ساده که با استفاده از این کتابخانه شما میتوانید یک مرور متن ایجاد کنید که محتوای آن هر چند ثانیه چند بار تغییر می کند. project build.gradle allprojects { repositories { jcenter() } } module build.gradle dependencies { compile 'com.tomer:fadingtextview:2.5' } ابتدا باید یک آرایه رشته ای در پوشه string-array خود ایجاد کنید مانند: <string-array name="examples"> <item>Hello</item> <item>Fading TextView</item> </string-array> و در قسمت layout کد زیر را وارد کنید <com.tomer.fadingtextview.FadingTextView android:layout_width="match_parent" android:layout_height="wrap_content" app:texts="@array/examples" /> شما می توانید مقدار زمانی که هر متن با استفاده از ویژگی زمان بندی و با تعیین طول زمان در میلی ثانیه مشخص شده است را تنظیم کنید. مثل این: app:timeout="500" <com.tomer.fadingtextview.FadingTextView android:id="@+id/fadingTextView" android:layout_width="match_parent" android:layout_height="wrap_content" app:timeout="500" app:texts="@array/examples" /> و برای تنظیم متن به صورت پویا، می توانید از کد زیر استفاده کنید String[] texts = {"text1","text2","text3"}; FadingTextView FTV = (FadingTextView) findViewById(R.id.fadingTextView); FTV.setTexts(texts); //You can use an array resource or a string array as the parameter برای تنظیم زمان بین تغییرات متن، می توانید از موارد زیر استفاده کنید: //For text change once every hour FTV.setTimeout(60, MINUTES); //For text change once every half a minute FTV.setTimeout(0.5, MINUTES); //For text change every 10 seconds FTV.setTimeout(10, SECONDS); //For text change every 500 milliseconds (0.5 seconds) FTV.setTimeout(500, MILLISECONDS); https://github.com/rosenpin/FadingTextView FadingTextView-master.zip
  16. یک زیرمجموعه FloatingActionButton که شما با استفاده از این امکان همانطور که در زیر می بینید میتوانید برای FloatingActionButton شمارنده قرار دهید. build.gradle dependencies{ compile 'com.github.andremion:counterfab:1.0.1' } <dependency> <groupId>com.github.andremion</groupId> <artifactId>counterfab</artifactId> <version>1.0.1</version> <type>pom</type> </dependency> برای اضافه کردن FloatingActionButton به فایل xml. <com.andremion.counterfab.CounterFab android:id="@+id/counter_fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_add_white_24dp" /> CounterFab counterFab = (CounterFab) findViewById(R.id.counter_fab); counterFab.setCount(10); // Set the count value to show on badge counterFab.increase(); // Increase the current count value by 1 counterFab.decrease(); // Decrease the current count value by 1 روش توصیه شده برای سفارشی کردن رنگ پس زمینه با استفاده از app:backgroundTint می باشد. <com.andremion.counterfab.CounterFab android:id="@+id/counter_fab" android:layout_width="wrap_content" android:layout_height="wrap_content" app:backgroundTint="#009688" android:src="@drawable/ic_add_white_24dp" /> https://github.com/andremion/CounterFab CounterFab-development.zip
  17. این کتابخانه از API 15 (Android 4.0.3) به بعد قابل استفاده می باشد. build.gradle allprojects { repositories { ... maven { url "https://jitpack.io" } } } dependency dependencies { compile 'com.github.zagum:Android-SwitchIcon:1.3.6' } SwitchIconView از AppCompatImageView استفاده می کند، بنابراین شما می توانید آیکون با app:srcCompat را تنظیم کنید. هر آیکون (بردار یا تصویر) را به SwitchIconView تنظیم کنید و از نماد switchable در برنامه خود لذت ببرید از app:si_tint_color برای تنظیم رنگ به آیکون. استفاده کنید. از app:si_disabled_color برای تنظیم رنگ زمانی که آیکون غیرفعال شود استفاده کنید. رنگ پیش فرض برابر با برنامه است: app:si_tint_color از app:si_disabled_alpha برای تنظیم آلفا زمانی که آیکون غیرفعال شود. پیش فرض alpha برابر ۵ می باشد. استفاده از app:si_animation_duration اگر میخواهید مدت زمان انیمیشن حالت سوئیچ را تغییر دهید؛ از app:si_enabled برای تنظیم وضعیت آیکون اولیه استفاده کنید customized <com.github.zagum.switchicon.SwitchIconView android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="8dp" app:si_animation_duration="500" app:si_disabled_alpha=".3" app:si_disabled_color="#b7b7b7" app:si_tint_color="#ff3c00" app:si_enabled="false" app:si_no_dash="true" app:srcCompat="@drawable/ic_cloud"/> Public methods public void setIconEnabled(boolean enabled); public void setIconEnabled(boolean enabled, boolean animate); public boolean isIconEnabled(); public void switchState(); public void switchState(boolean animate); https://github.com/zagum/Android-SwitchIcon Android-SwitchIcon-master.zip
  18. Shimmer یک کتابخانه جاوا است که یک راه آسان برای افزودن اثر خیره کننده به هر دیدگاهی در برنامه Android شما فراهم می کند. این به عنوان یک شاخص بارگیری غریزی مفید است. Shimmer for Android به عنوان یک طرح اجرا می شود، به این معنی که شما می توانید به راحتی هر نمایه را در داخل تگ ShimmerFrameLayout لمس کنید و برای شروع انیمیشن از کد خود call کنید. } repositories ()jcenter {" maven { url "https://jitpack.io { } dependencies 'implementation 'com.github.sharish:ShimmerRecyclerView:v1.2 { در اینجا یک نمونه استفاده از این کتابخانه را مشاهده می کنید: https://github.com/sharish/ShimmerRecyclerView ShimmerRecyclerView-master.zip
  19. NavigationView بسیار زیبا و با طراحی فوق العاده و طرح جالب این کتابخانه داشتن لبه های منحی است. } dependencies 'compile 'com.rom4ek:arcnavigationview:1.0.3 { https://github.com/rom4ek/ArcNavigationView ArcNavigationView-master.zip
  20. CoordinatorTabLayout یک کنترل کامپوزیت سفارشی است که به سرعت ترکیبی از TabLayout و CoordinatorLayout را اجرا می کند. CollapsingToolbarLayout حاوی TabLayout است. } dependencies 'compile 'cn.hugeterry.coordinatortablayout:coordinatortablayout:1.2.2 { https://github.com/hugeterry/CoordinatorTabLayout CoordinatorTabLayout-master.zip
  21. این SeekBar برای نمایش , پیش نمایش ها بسیار مناسب زیبا است همانطور که در Google Play Movies دیده می شود. } dependencies 'implementation 'com.github.rubensousa:previewseekbar:1.2 'implementation 'com.github.rubensousa:previewseekbar-exoplayer:2.6.0 { https://github.com/rubensousa/PreviewSeekBar PreviewSeekBar-master.zip