آموزش متریال دیزاین - استفاده از منوی پایین صفحه (Bottom Navigation View)
http://varchar.ir/post/android-material-design-tutorials-bottom-navigation-view.html
#tutorial #material_design #bottomnav
http://varchar.ir/post/android-material-design-tutorials-bottom-navigation-view.html
#tutorial #material_design #bottomnav
رنگ های متریال دیزاین در colors.xml
تعداد زیادی در مورد این رنگ ها و پیدا کردن لیست کامل برای استفاده تو پروژه های اندرویدی سوال میکردن من قبلا پیدا کرده بودم و تو پروژه هام استفاده می کنم رو گیت هابم گزاشتم امیدوارم به دردتون بخوره
https://gist.github.com/The-LoneWolf/5cf23a01f420d233c5f86e4749fe080a
#material_design #colors
تعداد زیادی در مورد این رنگ ها و پیدا کردن لیست کامل برای استفاده تو پروژه های اندرویدی سوال میکردن من قبلا پیدا کرده بودم و تو پروژه هام استفاده می کنم رو گیت هابم گزاشتم امیدوارم به دردتون بخوره
https://gist.github.com/The-LoneWolf/5cf23a01f420d233c5f86e4749fe080a
#material_design #colors
Gist
Android Material Design Colors
Android Material Design Colors. GitHub Gist: instantly share code, notes, and snippets.
دوستان اتفاقی یه سایتی پیدا کردم دنبال ایده برای طراحی حالت خالی لیست ها تو اپ هام بودم که یه سایت هم موضوع باهاش پیدا کردم چک کنید شاید بدردتون خورد :)
http://emptystat.es/
#material_design #design #inspiration #ui #empty_states
http://emptystat.es/
#material_design #design #inspiration #ui #empty_states
دوستان در تاریخ 27 آوریل یک دوره رایگانی در سایت edx شروع خواهد شد برای برنامه نویسی پیشرفته اندروید. ظاهرا مطالب جالبی قراره تدریس بشه. مطالب پروژه محور هم خواهد بود.
https://www.edx.org/course/professional-android-app-development-galileox-caad003x#!
#tutorial #android
https://www.edx.org/course/professional-android-app-development-galileox-caad003x#!
#tutorial #android
تکه کد کاربردی - غیرفعال کردن اسکرین شات در برنامه
http://varchar.ir/post/disable-screenshots-in-android-app.html
#code #screenshot
@varchar
http://varchar.ir/post/disable-screenshots-in-android-app.html
#code #screenshot
@varchar
دوستان کتابخانه SpotLight راستچین بودن رو ساپورت نمیکرد که امروز سورسش مورد بررسی و اصلاح قرار گرفت. سورس اصلاح شده اش در لینک زیر هست می تونید استفاده کنید.
https://github.com/The-LoneWolf/Spotlight
https://github.com/The-LoneWolf/Spotlight
یکی از تغییرات جدید در گریدل که بعد از آپدیت به اندروید استودیو 3 مشاهده خواهید کرد دستور Implementation برای اضافه کردن کتابخانه هاست که به جای compile اضافه شده است.
در نسخه جدید گریدل دستور compile منسوخ(deprecate) شده است.
https://stackoverflow.com/questions/44493378/whats-the-difference-between-implementation-and-compile-in-gradle
#android_studio_3 #tip #update #deprecation #gradle
@varchar
در نسخه جدید گریدل دستور compile منسوخ(deprecate) شده است.
https://stackoverflow.com/questions/44493378/whats-the-difference-between-implementation-and-compile-in-gradle
#android_studio_3 #tip #update #deprecation #gradle
@varchar
Stack Overflow
What's the difference between implementation and compile in Gradle?
After updating to Android Studio 3.0 and creating a new project, I noticed that in build.gradle there is a new way to add new dependencies instead of compile there is implementation and instead of
آموزش کوتاه - ست کردن فونت در اندروید استودیو 3 و بدون کتابخانه اضافی
http://varchar.ir/post/set-fonts-with-android-studio-3.html
#font #tutorial
@varchar
http://varchar.ir/post/set-fonts-with-android-studio-3.html
#font #tutorial
@varchar
تکه کد کاربردی - پرکردن گرید ریسایکلرویو از سمت راست
http://varchar.ir/post/create-rtl-grid-layout-manager.html
#rtl #code #gridlayoutmanager
@varchar
http://varchar.ir/post/create-rtl-grid-layout-manager.html
#rtl #code #gridlayoutmanager
@varchar
این تکنیک رو شاید بلد باشید ولی محض احتیاط برای تازه کارها میزارم
ایجاد سایه زیر تولبار به کمک ویو برای تلفن های با اندروید زیر 5
https://github.com/vipulasri/Toolbar-Elevation-Pre-Lollipop
#tip #shadow #pre_lolipop
@varchar
ایجاد سایه زیر تولبار به کمک ویو برای تلفن های با اندروید زیر 5
https://github.com/vipulasri/Toolbar-Elevation-Pre-Lollipop
#tip #shadow #pre_lolipop
@varchar
GitHub
vipulasri/Toolbar-Elevation-Pre-Lollipop
Toolbar Elevation on Pre-lollipop devices. Contribute to vipulasri/Toolbar-Elevation-Pre-Lollipop development by creating an account on GitHub.
- برگشتن به اپ از یک آدرس وب خاص در مرورگر
- اضافه کردن درگاه پرداخت زرین پال به اپ
- کاربرد butterknife
- استفاده از رتروفیت
- ریز و بم کار با Gson
- ساخت فروشگاه خیلی ساده
- درست کردن ساختار mvp موقع کد نویسی
- استفاده از کاتلین
- ارسال و نمایش پوش نوتیفیکیشن کاستوم با firebase از سمت کدهای تحت وب خودمون
- استفاده از shapeshifter برای ساخت وکتورهای انیمیشنی برای دکمه ها و جاهای مختلف
و...
این مطالب هم بزودی ارسال میشه منتظر باشید دوباره برگشتم 😉😎
@varchar
- اضافه کردن درگاه پرداخت زرین پال به اپ
- کاربرد butterknife
- استفاده از رتروفیت
- ریز و بم کار با Gson
- ساخت فروشگاه خیلی ساده
- درست کردن ساختار mvp موقع کد نویسی
- استفاده از کاتلین
- ارسال و نمایش پوش نوتیفیکیشن کاستوم با firebase از سمت کدهای تحت وب خودمون
- استفاده از shapeshifter برای ساخت وکتورهای انیمیشنی برای دکمه ها و جاهای مختلف
و...
این مطالب هم بزودی ارسال میشه منتظر باشید دوباره برگشتم 😉😎
@varchar
آموزش کوتاه - بازگشت مستقیم به اپ از یک آدرس وب
http://varchar.ir/post/return-directly-to-app-from-web.html
#deeplink #redirect #tutorial
@varchar
http://varchar.ir/post/return-directly-to-app-from-web.html
#deeplink #redirect #tutorial
@varchar
روش استفاده از وکتورها به عنوان drawable right و ... که در حالت عادی کار نمیکنه
دوتا دستور تو گریدل هست برای وکتور ها
implementation 'com.android.support:support-vector-drawable:27.0.2'
یکی هم بخش دیفالت کانفیگ هست
vectorDrawables.useSupportLibrary = true
بعد دستور super.onCreate( این سطر رو باید بزاری
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
بعد وکتورهایی که میخوای استفاده کنی عادی مثل همیشه اضافه میکنی اسمشم میزاری مثلا ic_email.xml
بعد میای توی فولدر دراوبل یه فایل xml دیگه ایجاد میکنی به اسم مثلا icon_email.xml و به شکل زیر محتواشو مینویسی
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_email" />
</selector>
آخر سر هم میبری ست میکنی به drawable right و یا بقیه دراوبل فیلد های ویو های مختلف
اسم icon_email رو
#drawable_right #fix #tutorial
@varchar
دوتا دستور تو گریدل هست برای وکتور ها
implementation 'com.android.support:support-vector-drawable:27.0.2'
یکی هم بخش دیفالت کانفیگ هست
vectorDrawables.useSupportLibrary = true
بعد دستور super.onCreate( این سطر رو باید بزاری
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
بعد وکتورهایی که میخوای استفاده کنی عادی مثل همیشه اضافه میکنی اسمشم میزاری مثلا ic_email.xml
بعد میای توی فولدر دراوبل یه فایل xml دیگه ایجاد میکنی به اسم مثلا icon_email.xml و به شکل زیر محتواشو مینویسی
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_email" />
</selector>
آخر سر هم میبری ست میکنی به drawable right و یا بقیه دراوبل فیلد های ویو های مختلف
اسم icon_email رو
#drawable_right #fix #tutorial
@varchar
خیلی وقته مطلب تو بلاگ نمی نویسم فرصت نمیشه راستش شرمنده بابت این مورد 😁
امروز داشتم یه اپ موزیک مینوشتم که چندتا مورد پیدا کردم
اولی اینه که روند نشون دادن نوتیفیکیشن تو foreground service ها برای اندروید o عوض شده
لینک نمونه کدهاش اینجا هست
https://stackoverflow.com/questions/44658923/android-foreground-service-notification-not-showing/50634187#50634187
دومی هم برای کنترل موزیک پلیر با دکمه های هدفون - نوتیفیکیشن بار و ... کلا یه اینترفیس مانندی هست تو اندروید به اسم media session که دستورهای کنترل وضعیت پخش موزیک با اون رد و بدل میشه - یه سری پست هم از گوگل دولوپرز در مورش پیدا کردم
https://medium.com/google-developers/understanding-mediasession-part-1-3-e4d2725f18e4
#music #music_player #foreground_services
@varchar
امروز داشتم یه اپ موزیک مینوشتم که چندتا مورد پیدا کردم
اولی اینه که روند نشون دادن نوتیفیکیشن تو foreground service ها برای اندروید o عوض شده
لینک نمونه کدهاش اینجا هست
https://stackoverflow.com/questions/44658923/android-foreground-service-notification-not-showing/50634187#50634187
دومی هم برای کنترل موزیک پلیر با دکمه های هدفون - نوتیفیکیشن بار و ... کلا یه اینترفیس مانندی هست تو اندروید به اسم media session که دستورهای کنترل وضعیت پخش موزیک با اون رد و بدل میشه - یه سری پست هم از گوگل دولوپرز در مورش پیدا کردم
https://medium.com/google-developers/understanding-mediasession-part-1-3-e4d2725f18e4
#music #music_player #foreground_services
@varchar
Stack Overflow
Android foreground service notification not showing
I am trying to start a foreground service. I get notified that the service does start but the notification always gets suppressed. I double checked that the app is allowed to show notifications in ...
امروز متوجه یه چیزی شدم هر تغییری تو کدهای نوتیفیکیشن ایجاد میکردم صدا و ویبره میزد اپ بعد سرچ دیدم باگ sdk 27 هست
https://issuetracker.google.com/issues/65108694
ظاهرا یه سری باگهای اساسی داره sdk 27 فعلا تو پروژه هاتون نسخه 26 یا 25 استفاده کنید
من که برگشتم رو 25 فعلا بیشتر از همه استیبل تر هست :))
#sdk #bug
@varchar
https://issuetracker.google.com/issues/65108694
ظاهرا یه سری باگهای اساسی داره sdk 27 فعلا تو پروژه هاتون نسخه 26 یا 25 استفاده کنید
من که برگشتم رو 25 فعلا بیشتر از همه استیبل تر هست :))
#sdk #bug
@varchar
داخل نستد اسکرول ویو وقتی ریسایکلر ویو دارید و دیتا لود کنید میبینید که ویو خودش اتوماتیک به اونجا اسکرول میخوره که اذیت کننده هست برای غیر فعال کردنش باید به ویو بیرونی دستور
android:focusableInTouchMode="true"
رو اضافه کنید.
https://stackoverflow.com/a/37312042
#اندروید #اسکرول_ناخواسته #nested_scrollview
@varchar
android:focusableInTouchMode="true"
رو اضافه کنید.
https://stackoverflow.com/a/37312042
#اندروید #اسکرول_ناخواسته #nested_scrollview
@varchar
Stack Overflow
RecyclerView steals focus when inside a NestedScrollView
When I put a RecyclerView inside a nested scrollview, the screen always jumps to the top of the RecyclerView instead of the top of the page. Here is a simple example.
layout xml:
<?xml version...
layout xml:
<?xml version...
حتما مشکل سوایپ ویوپیجری که بهش دایرکشن rtl دادید رو شما هم تجربه کردید :))
امروز یکم با کتابخونه های کمکی تست و اینا انجام دادم دیدم زیادی پیچیده ان یا بعضیا مشکل دارن و اینا و اینکه کتابخونه اس در هر حال کد اضافی هست و حجم برنامه میره بالا
بعد یکم سرچ دیدم ویژگی به این شکل تو xml هست برای اندروید
android:rotationY="180"
اومدم این رو ست کردم به ویو پیجر یعنی این شکلی
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:rotationY="180" />
با انجام این کار ویو برعکس کار میکنه مشکلی هم که داره محتویات داخلیش هم 180 درجه چرخیدن
بعدش اومدم به خارجی ترین لایه فرگمنت هام اینو اضافه کردم درست شد
android:rotationY="-180"
یعنی مثلا خارجی ترین لایه به این شکل هست
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:rotationY="-180"
tools:context=".fragment.FoodListFragment">
</LinearLayout>
بدون کتابخونه و کلی کد اضافی با یه سطر کد اومدم مشکل برعکس سوایپ شدن ویو پیجر رو حل کردم
#rtl #reverse_swipe #view_pager
@varchar
امروز یکم با کتابخونه های کمکی تست و اینا انجام دادم دیدم زیادی پیچیده ان یا بعضیا مشکل دارن و اینا و اینکه کتابخونه اس در هر حال کد اضافی هست و حجم برنامه میره بالا
بعد یکم سرچ دیدم ویژگی به این شکل تو xml هست برای اندروید
android:rotationY="180"
اومدم این رو ست کردم به ویو پیجر یعنی این شکلی
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:rotationY="180" />
با انجام این کار ویو برعکس کار میکنه مشکلی هم که داره محتویات داخلیش هم 180 درجه چرخیدن
بعدش اومدم به خارجی ترین لایه فرگمنت هام اینو اضافه کردم درست شد
android:rotationY="-180"
یعنی مثلا خارجی ترین لایه به این شکل هست
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:rotationY="-180"
tools:context=".fragment.FoodListFragment">
</LinearLayout>
بدون کتابخونه و کلی کد اضافی با یه سطر کد اومدم مشکل برعکس سوایپ شدن ویو پیجر رو حل کردم
#rtl #reverse_swipe #view_pager
@varchar
حل مشکل کش شدن open graph protocol سایت ها در تلگرام
یه یاداشت کوچیک برای کسایی که وب هم کار میکنن وقتی برای سایتتون تو هدر توضیحات شبکه های اجتماعی و عکس هاشو اضافه میکنید ممکنه اشتباهی پیش بیاد و لینک رو کپی کنید تو تلگرام بفرستید برا مشتری
یه مسئله ای پیش میاد اون هم اینه که تلگرام این توضیحات رو کش میکنه و حتی در صورت ویرایش هم درست نمیشه برای درست شدنش یه رباتی هست @webpagebot به این ربات لینک سایت مورد نظر رو بفرستید گزینه های آپدیت رو بزنید خودش درست میکنه :))
#web #telegram #open_graph #cache
@varchar
یه یاداشت کوچیک برای کسایی که وب هم کار میکنن وقتی برای سایتتون تو هدر توضیحات شبکه های اجتماعی و عکس هاشو اضافه میکنید ممکنه اشتباهی پیش بیاد و لینک رو کپی کنید تو تلگرام بفرستید برا مشتری
یه مسئله ای پیش میاد اون هم اینه که تلگرام این توضیحات رو کش میکنه و حتی در صورت ویرایش هم درست نمیشه برای درست شدنش یه رباتی هست @webpagebot به این ربات لینک سایت مورد نظر رو بفرستید گزینه های آپدیت رو بزنید خودش درست میکنه :))
#web #telegram #open_graph #cache
@varchar
به خاطر محدودیت های سرویس ها تو اندروید o حتی سرویسهای فایربیس هم با مشکل مواجه میشن که امروز متوجهش شدم
باید تبدیل کرد به BIND_JOB_SERVICE که اینجا یه سری توضیحات و راه حل دادن
https://stackoverflow.com/questions/46117554/firebasemessagingservice-crashes-on-android-o-due-to-background-execution-limits/48166636
#android #service #error #fcm
@varchar
باید تبدیل کرد به BIND_JOB_SERVICE که اینجا یه سری توضیحات و راه حل دادن
https://stackoverflow.com/questions/46117554/firebasemessagingservice-crashes-on-android-o-due-to-background-execution-limits/48166636
#android #service #error #fcm
@varchar
Stack Overflow
FirebaseMessagingService Crashes on Android O due to background execution limits
Our app is crashing on Android O due to the new background execution limits. We are on Firebase version 10.2.1, which is the one that added Android O support.
Seems like an issue with Firebase? Or...
Seems like an issue with Firebase? Or...
امروز یکی از سورسهای قدیمیم رو میخواستم با اس دی کا 28 کامپایل کنم یه ارور دیدم که مربوط به یک تغییری جالب تو اندروید P یا M هست.
Starting with Android 9 (API level 28), cleartext support is disabled by default.
یعنی از این به بعد اگه اپلیکیشن میخوایید بزارید رو گوگل پلی باید 100% گواهی ssl داشته باشید.
برای مارکت های دیگه چون تارگت اس دی کی مهم نیست میتونید دور بزنید.
روش دور زدن هم اضافی کردن android:usesCleartextTraffic="true" به تگ application تو منیفست هست
https://developer.android.com/training/articles/security-config#CleartextTrafficPermitted
اینجا هم یه رفیقمون یه مقاله ای درموردش نوشته که بعدا میخونم ببینم چی میگه
https://koz.io/android-m-and-the-war-on-cleartext-traffic/
#android #android_p #networking
@varchar
Starting with Android 9 (API level 28), cleartext support is disabled by default.
یعنی از این به بعد اگه اپلیکیشن میخوایید بزارید رو گوگل پلی باید 100% گواهی ssl داشته باشید.
برای مارکت های دیگه چون تارگت اس دی کی مهم نیست میتونید دور بزنید.
روش دور زدن هم اضافی کردن android:usesCleartextTraffic="true" به تگ application تو منیفست هست
https://developer.android.com/training/articles/security-config#CleartextTrafficPermitted
اینجا هم یه رفیقمون یه مقاله ای درموردش نوشته که بعدا میخونم ببینم چی میگه
https://koz.io/android-m-and-the-war-on-cleartext-traffic/
#android #android_p #networking
@varchar
Android Developers
Network security configuration | Security | Android Developers
Feature that allows app developers to customize network security settings in a safe configuration file.