آموزش منو سفارشی CircleMenu در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش منو سفارشی CircleMenu در برنامه نویسی اندروید می پردازیم همانطور که از نام آن پیدا است این منو به شکل گرد می باشد در ادامه می توانید پیش نمایشی از آن را مشاهده کنید با ما همراه باشید.
به علت بالا بودن حجم از لینک زیر برای دیدن آن استفاده کنید.
لینک
همانطور که دید بسیار زیبا است و باعث متریال دیزاین شدن اپ شما می شود به شما پیشنهاد می کنم حتما از این منو استفاده کنید.
مثل همیشه برای استفاده از این منو باید کتاب خانه آن را اضافه کنیم.
برای این کار وارد فایل Build.gradle شده از نوع module و سپس در بخش dependencies خط زیر را اضافه کنید.
1 | compile 'com.github.imangazalievm:circlemenu:1.0.3' |
بعد از اینکه پروژه sync شد (علت خطاهای گریدل رو قبلا بررسی کرده ایم )
در جایی که می خواید منو را قرار دهید کد زیر را قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <com.imangazaliev.circlemenu.CircleMenu android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:id="@+id/circleMenu" > <com.imangazaliev.circlemenu.CircleMenuButton android:id="@+id/favorite" android:layout_width="wrap_content" android:layout_height="wrap_content" app:colorNormal="#2196F3" app:colorPressed="#1E88E5" app:icon="@drawable/ic_favorite" /> <com.imangazaliev.circlemenu.CircleMenuButton android:id="@+id/search" android:layout_width="wrap_content" android:layout_height="wrap_content" app:colorNormal="#4CAF50" app:colorPressed="#43A047" app:icon="@drawable/ic_search"/> <com.imangazaliev.circlemenu.CircleMenuButton android:id="@+id/alert" android:layout_width="wrap_content" android:layout_height="wrap_content" app:colorNormal="#F44336" app:colorPressed="#E53935" app:icon="@drawable/ic_alert"/> </com.imangazaliev.circlemenu.CircleMenu> |
CircleMenu خود منو اصلی و CircleMenuButton دکمه هایی داخلی آن را ایجاد می کند تست کنید تا با کارای بقیه اجزا آشنا شوید.
و برای handle کردن کلیک می توانید از کد زیر استفاده کنید.
1 2 3 4 5 6 | CircleMenu circleMenu = (CircleMenu) findViewById(R.id.circleMenu); circleMenu.setOnItemClickListener(new CircleMenu.OnItemClickListener() { @Override public void onItemClick(MenuButton menuButton) { } }); |
برای بررسی اینکه کدام یکی از دکمه ها کلیک شده از menuButton استفاده می کنیم.
برای اینکه بررسی کنیم کی باز و بسته شده (Expand و Collaps ) می توانیم از کد زیر استفاده کنیم در دو بخش void ها منظورمه.
1 2 3 4 5 6 7 8 | circleMenu.setStateUpdateListener(new CircleMenu.OnStateUpdateListener() { @Override public void onMenuExpanded() { } @Override public void onMenuCollapsed() { } }); |
این آموزش هم همانند آموزش های دیگر به پایان رسید.
موفق و موید باشید.
ببخشید عالی بود لطفا ویدیویی بکنید
امکان قرار دادن ویدیو فعلا وجود ندارد ولی به زودی قرار میدهیم.
سلام ببخشید چطور میشه به جای اون دکمه اصلی منو با تاچ کار کنه؟ یعنی روی صفحه تاچ کنه اون منوی دایره ای باز شه
باید یک view باشد که touch شود مثلا می تواند Liner Layout باشد و بعد از find کردن مثل زیر Touch را تعریف کنید.
و برای نمایش آن باید خودتان فکری بکنید.
سلام میبخشین واسه عملکرد هرکدوم از دکمه های منو هم کدشو بزارین ممنون
سلام کد قبلا قرار گرفته است.
چجوری میشه اون دکمه وسطی که وقتی روش کلیک میکنیم بقیه دکمه ها میان رو اکونش رو عوض کرد
چجوری میشه اون دکمه وسطی که وقتی روش کلیک میکنیم بقیه دکمه ها میان رو اکونش رو عوض کرد
سلام وقتتون بخیر ببخشید چطور میشه زیر هرکدوم از دکمه ها اسمشو بنویسیم؟
سلام این قابلیت وجود ندارد.
ممنون عالیه
فقط عملکرد هرکدوم نوشته نشده؟؟
چطوری میشه نوشت که مثلا دکمه سرچ اتخاب شده toast کنه سرچ