آموزش جاوا و اندروید

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

آموزش جاوا و اندروید

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

طبقه بندی موضوعی

۲۶۰ مطلب با موضوع «آموزش اندروید» ثبت شده است

این اتریبیوت باید برای childهای مستقیم coordinator layout تعریف بشه. مثلا اگر برای nestedScrollView بعد از appBar بذاریم، باعث میشه ویوها رو بعد از appBar قرار بده. اگر نباشه، ویوها از اول صفحه قرار میگیرن.

 

تا الآن برای nestedScrollView که بعد از appBar قرار گرفته و bottomSheet این اتریبیوت رو تعریف کردم.

 

نکته: برای coordinator layout، اسکرول ویو کار نمیکنه! حتما باید nestedScrollView تعریف بشه.

 

توضیحات تکمیلی - لینک خوبیه

 

نمونه 1

 

نمونه 2

۰ نظر موافقین ۰ مخالفین ۰ ۰۷ شهریور ۹۹ ، ۰۳:۴۲
میم دال

میشه برای بک گراند لیوت (یا ویو - ولی لیوت روت بهتره، چون برای همه ویوهای چایلد اعمال میشه) اتریبیوت زیر رو تعریف کرد: (البته باید ویو clickable باشه)

 

android:background="?android:attr/selectableItemBackground"

 

اینجوری باعث میشه وقتی روی آیتم میریم یه سایه خاکستری روش قرار بگیره و زیبا شه! بهش Ripple effect میگن.

 

(میشه برای اتریبیوت foreground هم این افکت رو قرار داد. نمیدونم فرقش چیه)

 

مدل های دیگه ولی این از همه بهتر و سازگارتره

 

برای کارد ویو بعد از true قرار دادن clickable، به صورت زیر میشه این افکت رو ایجاد کرد:

android:foreground="?android:attr/selectableItemBackground"
۰ نظر موافقین ۰ مخالفین ۰ ۰۶ شهریور ۹۹ ، ۲۱:۵۳
میم دال

اگر ویوی ما به صورت ذاتی قابل کلیک نباشه، مثل webView یا View یا کارد ویو و اینا باید این اتریبیوت رو براش true بذاریم تا توی کد بشه onClickListener واسش نوشت.

 

یعنی میگیم این ویو باید به کلیک ها پاسخ بده.

 

android:clickable="true"
۰ نظر موافقین ۰ مخالفین ۰ ۰۶ شهریور ۹۹ ، ۰۳:۵۲
میم دال

نکات:

 

1. پنجره پاپ آپ رو ترنسپرنت میکنیم. (تعریف یک تم جداگانه برای اکتیویتی پاپ آپ)

2. ابعاد صفحه رو میگیریم و میگیم توی یه درصدی از صفحه لیوت نشون داده بشه

همین!

 

۰ نظر موافقین ۰ مخالفین ۰ ۰۶ شهریور ۹۹ ، ۰۲:۰۳
میم دال

توصیه شده از bottom nav با فریم لیوت به کار گرفته بشه و نه ویو پیجر.

 

کد XML:

۰ نظر موافقین ۰ مخالفین ۰ ۰۵ شهریور ۹۹ ، ۱۷:۴۱
میم دال

توی اندروید دو تا API برای دوربین داریم، یکیش همینه و دومی camera 2 هست و سخت تره و ما بهش کاری نداریم!

 

پرمیشن دوربین ران تایم هست و ستاپ خودشو داره که قبلا گفتم.

 

کد زیر برای باز کردن دوربین هست:

 

۰ نظر موافقین ۰ مخالفین ۰ ۰۴ شهریور ۹۹ ، ۲۲:۴۱
میم دال

آیا میدانید متد ()getTextSize سایز فونت تکست ویو را به صورت پیکسل نشان میدهد و برای تبدیل پیکسل به SP از این روش استفاده میشود؟

 

منم نمیدونستم!

۰ نظر موافقین ۰ مخالفین ۰ ۰۴ شهریور ۹۹ ، ۱۶:۳۳
میم دال

این شکلیه:

Android SeekBar Control Example Diagram

 

 

 

 

 

 

 

۰ نظر موافقین ۰ مخالفین ۰ ۰۴ شهریور ۹۹ ، ۱۶:۲۴
میم دال

با کد زیر در پروژه collapsing toolbar رنگ غالب بک گراند تولبار پیدا شده و برای تولبار ست میشود.

 

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.bg2);
Palette.from(bitmap).generate(new Palette.PaletteAsyncListener() {
    @Override
    public void onGenerated(@Nullable Palette palette) {
        if (palette != null) {
            collapsingToolbar.setContentScrimColor(palette.getMutedColor(R.attr.colorPrimary));
        }
    }
});

 

نکته: دپندنسی زیر باید در گریدل اضافه شه:

 

implementation 'androidx.palette:palette:1.0.0'
۰ نظر موافقین ۰ مخالفین ۰ ۰۲ شهریور ۹۹ ، ۰۱:۲۰
میم دال

با اضافه کردن کد زیر در اکتیویتی میشه فلش بک رو توی تولبار که بهش HomeAsUp گفته میشه رو اضافه کرد.

actionBar.setDisplayHomeAsUpEnabled(true);

تغییر آیکون این دکمه:

 

actionBar.setHomeAsUpIndicator(R.drawable.ic_back);

 

جهت ست کردن تسک برای این دکمه:

روش اول:

@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {

    if(item.getItemId()==android.R.id.home){

        Toast.makeText(this, "home as up is clicked!", Toast.LENGTH_SHORT).show();
        onBackPressed();
    }

    return super.onOptionsItemSelected(item);
}

 

اینجا با تاچ کردن این دکمه، toast نمایش داده میشه و اکتیویتی به عقب برمیگرده (کار دکمه بک انجام میشه)

 

روش دوم:

اوور راید کردن متد زیر در اکتیویتی (بنظرم روش بهتریه):

@Override
public boolean onSupportNavigateUp() {
    onBackPressed();
    return super.onSupportNavigateUp();
}

توجه: اگر از پاپ آپ منو استفاده بشه، روش دوم جواب نمیده و باید از روش اول استفاده کرد (یعنی باید توی سوییچ همراه با باتن های منو تسک این باتن رو هم ست کنیم)

 

نکته: اگر از تولبار استفاده میشه (که اکثر اوقات میشه و تم NoActionBar هست) در این صورت حتما اول باید 

 

setSupportActionBar(toolbar);

نوشته بشه وگرنه ارور نال پوینتر میده چون اکشن باری وجود نداره.

 

۰ نظر موافقین ۰ مخالفین ۰ ۰۲ شهریور ۹۹ ، ۰۱:۱۷
میم دال