اضافة زر للتبديل بين الى الليلي في اندرويد ستوديو | Dark and white mode android

 

اضافة زر للتبديل بين الى الليلي في اندرويد ستوديو

اضافة زر للتبديل بين الى الليلي في اندرويد ستوديو

في هذا المقال سوف نشرح لكم واحد من الدروس التي يبحث عليها عدد كبير من المتابعين وهيا كيفية عمل switch للتبديل بين الوضع الليلي الداكن والوضع النهاري ويمكنك حفظ قيمة الاختيار الخاصه بالمستخدم في قاعدة البيانات المحليه للتطبيق وعند فتح التطبيق يتم فتح التطبيق عليها , حيث ان الوضع الليلي من اكثر الثيمات التي يفضلها عدد كبير من المستخدمين وذلك بسبب انه مريح للعين عكس الوضع العادي الابيض والذي يضر بالعين وذلك سوف نشرح لكم بالتفصيل كيف تتم العملية .


ماهو اندرويد ستوديو ؟

إنه IDE خاص بنظام Android تم إنشاؤه مع وضع برمجة Android في الاعتبار. تم الكشف عنه في 16 مايو 2013 ، خلال مؤتمر Google السنوي I / O. لتصميم تطبيقك واختباره وتصحيحه وتوصيفه ، ستحتاج إلى استخدام استوديو Android ، الذي يأتي مع جميع أدوات Android sDK. بالنظر إلى أدوات التطوير والبيئة ، يمكننا أن نرى أنه يمكن مقارنته بـ eclispe مع المكون الإضافي ADT ، ولكن نظرًا لأنه IDE يركز على android ، فهناك الكثير من الميزات الرائعة في Android Studio التي يمكن أن تساعدك على البناء بشكل أسرع.


كود التصميم للتبديل الى الوضع الليلي

في البداية نحتاج الى تصميم بسيط جدا وهو عباره عن نص واسفلة مباشرة SwitchMaterial وهو الزر الذي سوف يتحكم بالوضع الخاص بتطبيقك .


كود التصميم للتبديل الى الوضع الليلي

design.xml

    <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


ياتي الان دور الخطوة الثانيه وهي الكود بكل بساطة عندما يتم النقر على الزر يتم تغيير الوضع من الوضع الداكن وعند النقر مره اخرى يتم التبديل الى الوضع النهاري ويمكنك حفظ القيمة كما اخبرناكم في قواعد البيانات المحليه للتطبيق ليفتح عليها في المرات المقبلة .

كود الجافا للتبديل الى DarkMode


MainActivity.java

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 للوضع الليلي والعادي


الثيم الخاص بالتصميم الذي تعمل عليه , يمكنك التعديل في هذا الملف وايضا التعديل على الكود ليتوافق كلاهما مع بعضهم البعض .


كود ملف الtheme للوضع الليلي والعادي



تعليقات