شارك المقالة

اضافة زر للتبديل بين الى الليلي في اندرويد ستوديو | 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 للوضع الليلي والعادي



شاهد أيضًا
مقالات ذات صلة
كود بلغة الجافا يقوم بطباعة الخط بإستخدام الرسم الجافا | Draw a line in Java

  بسم الله الرحمن الرحيم السلام عليكم ورحمه الله وبركاته مرحبا بكم في درس جديد…

تطبيق whatsapp كامل باستخدام bloc مفتوح المصدر

تطبيق whatsapp كامل باستخدام bloc مفتوح المصدر في هذا المقال نقدم لكم تطبيق الواتساب الغني…

مشروع Flutter مفتوح المصدر لعرض الملف التعريفي الخاص بك

مشروع Flutter مفتوح المصدر لعرض الملف التعريفي الخاص بكلغة البرمجة للاندرويد المتعارف عليها هيا الجافا…

🚫 مانع الإعلانات مفعل

يجب إيقاف مانع الإعلانات لاستكمال تصفح الموقع