اضافة زر للتبديل بين الى الليلي في اندرويد ستوديو
في هذا المقال سوف نشرح لكم واحد من الدروس التي يبحث عليها عدد كبير من المتابعين وهيا كيفية عمل switch للتبديل بين الوضع الليلي الداكن والوضع النهاري ويمكنك حفظ قيمة الاختيار الخاصه بالمستخدم في قاعدة البيانات المحليه للتطبيق وعند فتح التطبيق يتم فتح التطبيق عليها , حيث ان الوضع الليلي من اكثر الثيمات التي يفضلها عدد كبير من المستخدمين وذلك بسبب انه مريح للعين عكس الوضع العادي الابيض والذي يضر بالعين وذلك سوف نشرح لكم بالتفصيل كيف تتم العملية .
ماهو اندرويد ستوديو ؟
إنه IDE خاص بنظام Android تم إنشاؤه مع وضع برمجة Android في الاعتبار. تم الكشف عنه في 16 مايو 2013 ، خلال مؤتمر Google السنوي I / O. لتصميم تطبيقك واختباره وتصحيحه وتوصيفه ، ستحتاج إلى استخدام استوديو Android ، الذي يأتي مع جميع أدوات Android sDK. بالنظر إلى أدوات التطوير والبيئة ، يمكننا أن نرى أنه يمكن مقارنته بـ eclispe مع المكون الإضافي ADT ، ولكن نظرًا لأنه IDE يركز على android ، فهناك الكثير من الميزات الرائعة في Android Studio التي يمكن أن تساعدك على البناء بشكل أسرع.
كود التصميم للتبديل الى الوضع الليلي
في البداية نحتاج الى تصميم بسيط جدا وهو عباره عن نص واسفلة مباشرة SwitchMaterial وهو الزر الذي سوف يتحكم بالوضع الخاص بتطبيقك .
<LinearLayout
android:orientation="vertical"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:layout_gravity="center"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/switchMode"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
كود الجافا للتبديل الى DarkMode
public class MainActivity extends AppCompatActivity {
ActivityMainBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = DataBindingUtil.setContentView(this,R.layout.activity_main);
binding.switchMode.setChecked(false);
binding.switchMode.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
} else {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
}
}
});
}
}
كود ملف الtheme للوضع الليلي والعادي
لمزيد من المقالات في الاندرويد :
- نقل Object من بيانات class الى class اخر في Android Studio بسهوله
- كيفية نقل البيانات بإستخدام PutExtra في اندرويد ستوديو
- مجموعة من الاختصارات التي لا يعرفها الكثير من المبرمجين في برنامج android studio
- كيفية اضافة ايقونة للنقل الى حسابك في فيسبوك و انستقرام وواتساب وتويتر بواسطة اندرويد ستوديو
- عرض اكثر من layout داخل الrecyclerview داخل الادبتر