بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
همرنگ کردن نوار Status با خود برنامه(حل شد)
برای این سوال 3 پاسخ وجود دارد.
مشاهده پاسخ صحیح
پاسخ به سوال
Criss
9 سال پیش
+4
0
این رو استفاده کنید :
public static void statusBar(Activity activity, String color) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = activity.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.parseColor(color));
window.setNavigationBarColor(Color.parseColor(color));
}
}
پاسخ به سوال
sami
9 سال پیش
+3
0
سلام.
از این متد استفاده کنید :
private void changeStatusBarColor(int color) {
if (Build.VERSION.SDK_INT >= 21) {
Window window = this.getWindow();
// clear FLAG_TRANSLUCENT_STATUS flag:
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
// add FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS flag to the window
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
// finally change the color
window.setStatusBarColor(ContextCompat.getColor(this, color));
}
همون متد بالاست،فقط یه خطش با اون یکی فرق می کنه.
من خودم از این متد قبلا استفاده کردم و مطمئنا درست کار می کنه.فقط باید حواستون به این باشه که این حالت فقط روی اندروید لالی پاپ به بعد کار می کنه.یعنی اگه شما این کد رو تو برنامه تون استفاده کنید وقتی این برنامه، روی اندروید با شماره api کمتر از 21 اجرا بشه،تغییری رخ نمیده اما اگه رو اندروید 21 به بالا اجرا بشه،نتیجه مورد نظرو خواهید دید. (9 سال پیش)
پاسخ به سوال
Ali asqar akhavan mahdavi
9 سال پیش
+6
0
پاسخ صحیح
ممنون از همگی.بالاخره بعد از سالها ;-) تحقیق تونستم پیداش کنم البته با کمک شما دوستان.حالا نظر دادنش با شما اساتید...
public void setTaskBarColored(Activity context) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)
{
Window w = context.getWindow();
w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
int result = 0;
int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
if (resourceId > 0) {
result = getResources().getDimensionPixelSize(resourceId);
}
View view = new View(context);
view.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
view.getLayoutParams().height = result;
((ViewGroup) w.getDecorView()).addView(view);
view.setBackgroundColor(context.getResources().getColor(R.color.colorPrimaryTaskBar));
}
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
