Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Android

Android में Recyclerview के लिए यादृच्छिक पृष्ठभूमि कैसे सेट करें?

<घंटा/>

पुनर्नवीनीकरण दृश्य उदाहरण के लिए यादृच्छिक पृष्ठभूमि रंग सेट करने से पहले, हमें पता होना चाहिए कि एंड्रॉइड में रीसाइक्लिंग दृश्य क्या है। रिसाइकलर व्यू सूची दृश्य का अधिक उन्नत संस्करण है और यह व्यू होल्डर डिजाइन पैटर्न के आधार पर काम करता है। पुनर्चक्रण दृश्य का उपयोग करके हम ग्रिड और वस्तुओं की सूची दिखा सकते हैं।

यह उदाहरण दर्शाता है कि उम्र के साथ छात्र का नाम प्रदर्शित करने वाला एक सुंदर छात्र रिकॉर्ड ऐप बनाकर Recyclerview के लिए यादृच्छिक पृष्ठभूमि कैसे सेट करें।

चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।

चरण 2 - बिल्ड.ग्रेडल खोलें और रिसाइकलर व्यू लाइब्रेरी डिपेंडेंसी जोड़ें।

<पूर्व>प्लगइन लागू करें:'com.android.application'android {compileSdkVersion 28 defaultConfig { applicationId "com.example.andy.tutorialspoint" minSdkVersion 19 targetSdkVersion 28 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner " } बिल्डटाइप्स {रिलीज {minifyEnabled false proguardFiles getDefaultProguardFile ('proguard-android.txt'), 'proguard-rules.pro'} }}निर्भरता {कार्यान्वयन fileTree(dir:'libs', शामिल हैं:['*.jar'] ) कार्यान्वयन 'com.android.support:appcompat-v7:28.0.0' कार्यान्वयन 'com.android.support:design:28.0.0' कार्यान्वयन 'com.android.support.constraint:constraint-layout:1.1.3' कार्यान्वयन 'com.android.support:recyclerview-v7:28.0.0' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso :एस्प्रेसो-कोर:3.0.2'}

चरण 3 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।

 

उपरोक्त कोड में, हमने विंडो मैनेजर में रिसाइकलर व्यू को रिलेटिव पैरेंट लेआउट के रूप में जोड़ा है।

चरण 4 - निम्न कोड को src/MainActivity.java

में जोड़ें <पूर्व>पैकेज com.example.andy.tutorialspoint;import android.annotation.TargetApi;import android.os.Build;import android.os.Bundle;import android.support.annotation.RequiresApi;import android.support.design.widget .TabLayout;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.DividerItemDecoration;import android.support.v7.widget.LinearLayoutManager;import android. support.v7.widget.RecyclerView;import android.support.v7.widget.Toolbar;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class MainActivity AppCompatActivity को बढ़ाता है {निजी RecyclerView recyclerView; निजी छात्र अनुकूलक छात्र अनुकूलक; निजी सूची studentDataList =new ArrayList<>(); @TargetApi(Build.VERSION_CODES.O) @Override संरक्षित शून्य onCreate (बंडल सेव्ड इंस्टेंसस्टेट) {super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); recyclerView =findViewById (R.id.recycler_view); छात्र एडाप्टर =नया छात्र एडाप्टर (छात्रडेटा सूची); RecyclerView.LayoutManager प्रबंधक =नया LinearLayoutManager (यह); recyclerView.setLayoutManager (प्रबंधक); recyclerView.addItemDecoration (नया डिवाइडर इटैमडेकोरेशन (यह, LinearLayoutManager.VERTICAL)); recyclerView.setAdapter (छात्र एडेप्टर); छात्रडेटा तैयार (); } @RequiresApi(api =Build.VERSION_CODES.N) निजी शून्य StudentDataPrepare() {छात्रडेटा डेटा =नया छात्रडेटा ("sai", 25); छात्रडेटा सूची। जोड़ें (डेटा); डेटा =नया छात्रडेटा ("साई", 25); छात्रडेटा सूची। जोड़ें (डेटा); डेटा =नया छात्रडेटा ("रघु", 20); छात्रडेटा सूची। जोड़ें (डेटा); डेटा =नया छात्रडेटा ("राज", 28); छात्रडेटा सूची। जोड़ें (डेटा); डेटा =नया छात्रडेटा ("अमर", 15); छात्रडेटा सूची। जोड़ें (डेटा); डेटा =नया छात्रडेटा ("बापू", 19); छात्रडेटा सूची। जोड़ें (डेटा); डेटा =नया छात्रडेटा ("चंद्र", 52); छात्रडेटा सूची। जोड़ें (डेटा); डेटा =नया छात्रडेटा ("डेरज", 30); छात्रडेटा सूची। जोड़ें (डेटा); डेटा =नया छात्रडेटा ("ईशांत", 28); छात्रडेटा सूची। जोड़ें (डेटा); Collections.sort(studentDataList, new Comparator() {@Override public int तुलना (studentData o1, studentData o2) {वापसी o1.name.compareTo(o2.name); }}); }}

उपरोक्त कोड में, हमने एक पुनर्चक्रण दृश्य और छात्र एडेप्टर जोड़ा है। उस छात्र एडाप्टर में, हमने छात्रडेटालिस्ट को ArrayList के रूप में पास कर दिया है। छात्र डेटा सूची में छात्र और उम्र का नाम होता है।

रिसाइकलर व्यू आइटम की तुलना करने के लिए हमने नीचे दिखाए गए अनुसार संग्रह ढांचे और सॉर्ट विधि का उपयोग किया है -

Collections.sort(studentDataList, new Comparator() { @Override public int तुलना (studentData o1, studentData o2) { वापसी o1.name.compareTo(o2.name); }});

उपरोक्त कोड में, हम नाम का उपयोग करके तत्वों की तुलना कर रहे हैं।

चरण 5 - संशोधित फ़ाइल src/StudentAdapter.java की सामग्री निम्नलिखित है।

पैकेज com.example.andy.tutorialspoint;import android.graphics.Color;import android.support.annotation.NonNull;import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;import android.view .व्यू; इंपोर्ट android.view.ViewGroup;import android.widget.LinearLayout;import android.widget.TextView;import java.util.List;import java.util.Random;class StudentAdapter RecyclerView.Adapter का विस्तार करता है { सूची <छात्रडेटा> छात्रडेटा सूची; सार्वजनिक छात्र एडाप्टर (सूची <छात्रडेटा> छात्रडेटा सूची) { this.studentDataList=studentDataList; } @NonNull @Override public MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { देखें itemView =LayoutInflater.from(viewGroup.getContext()) .inflate(R.layout.student_list_row, viewGroup, false); नया MyViewHolder (आइटम व्यू) लौटाएं; } @Override सार्वजनिक शून्य onBindViewHolder(MyViewHolder viewHolder, int i) { studentData data=studentDataList.get(i); रैंडम रैंड =नया रैंडम (); int currentColor =Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256)); viewHolder.parent.setBackgroundColor (currentColor); viewHolder.name.setText (data.name); viewHolder.age.setText(String.valueOf(data.age)); } @Override सार्वजनिक int getItemCount () {वापसी studentDataList.size (); } वर्ग MyViewHolder RecyclerView.ViewHolder को बढ़ाता है { TextView नाम, आयु; रैखिक लेआउट माता-पिता; सार्वजनिक MyViewHolder (आइटम व्यू देखें) {सुपर (आइटम व्यू); पैरेंट=itemView.findViewById(R.id.parent); name=itemView.findViewById(R.id.name); आयु =itemView.findViewById (R.id.age); } }} 

एडेप्टर वर्ग में, हमारे पास नीचे दिखाए गए चार तरीके हैं -

ऑनक्रिएट व्यूहोल्डर () - इसका उपयोग व्यू होल्डर बनाने के लिए किया जाता है और यह एक व्यू देता है।

onBindViewHolder() - यह बनाए गए व्यू होल्डर के साथ जुड़ने वाला है।

getItemCount () - इसमें सूची का आकार होता है।

MyViewHolder वर्ग - यह व्यू होल्डर इनर क्लास है जिसे RecyclerView.ViewHolder

. द्वारा बढ़ाया गया है

रिसाइकलर व्यू आइटम के लिए एक रैंडम बैकग्राउंड सेट करने के लिए, हमने रैंडम क्लास (जो कि एंड्रॉइड में पूर्वनिर्धारित क्लास है) का उपयोग करके रैंडम कलर जेनरेट किया है और नीचे दिखाए गए अनुसार पेरेंट ऑफ व्यू आइटम में रंग जोड़ा है -

रैंडम rnd =नया रैंडम (); int currentColor =Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));viewHolder.parent.setBackgroundColor(currentColor);

चरण 6 - XML ​​res/layout/student_list_row.xml की संशोधित सामग्री निम्नलिखित है।

  <टेक्स्ट व्यू एंड्रॉइड:आईडी ="@ + आईडी / आयु" एंड्रॉइड:लेआउट_विड्थ ="0 डीपी" एंड्रॉइड:लेआउट_वेट ="0.5" एंड्रॉइड :गुरुत्वाकर्षण="केंद्र" android:textSize="15sp" android:layout_height="100dp" />

उपरोक्त सूची आइटम दृश्य में, हमने नाम और उम्र के लिए दो टेक्स्ट व्यू बनाए हैं।

चरण 7 - संशोधित फ़ाइल src/ studentData.java की सामग्री निम्नलिखित है।

पैकेज com.example.andy.tutorialspoint;class studentData { String name; पूर्ण आयु; सार्वजनिक छात्रडेटा (स्ट्रिंग नाम, अंतर आयु) { यह नाम =नाम; यह आयु =आयु; }} 

उपरोक्त कोड में छात्र डेटा ऑब्जेक्ट के बारे में सूचित करता है। आइए अपना एप्लिकेशन चलाने का प्रयास करें। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फ़ाइलों में से एक खोलें और टूलबार से रन आइकन पर क्लिक करें। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा -

Android में Recyclerview के लिए यादृच्छिक पृष्ठभूमि कैसे सेट करें?

उपरोक्त परिणाम में, हमने अल्फाबेटिक ए और यादृच्छिक पृष्ठभूमि रंगों से डेटा दिखाया है। अब नीचे स्क्रॉल करें। यह नीचे दिखाए अनुसार परिणाम दिखाता है -

Android में Recyclerview के लिए यादृच्छिक पृष्ठभूमि कैसे सेट करें?


  1. हम प्रोग्रामिक रूप से एंड्रॉइड एडिटटेक्स्ट के लिए इनपुट प्रकार कैसे सेट करते हैं?

    यह उदाहरण दर्शाता है कि मैं प्रोग्राम के अनुसार Android EditText के लिए इनपुट प्रकार कैसे सेट करूं। चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें। चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़

  1. Android में AsyncTask के लिए टाइमआउट कैसे सेट करें?

    यह उदाहरण दर्शाता है कि मैं एंड्रॉइड में AsyncTask के लिए टाइमआउट कैसे सेट करूं। चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें। चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें। चरण 3 - निम

  1. माइक्रोसॉफ्ट वर्ड के लिए बैकग्राउंड पिक्चर कैसे सेट करें

    Microsoft Word इस डिजिटल दुनिया में बुनियादी आवश्यकताओं में से एक बन गया है। क्या आप Word में नियमित पाठ से ऊब चुके हैं और दस्तावेज़ को थोड़ा अनुकूलित करना चाहते हैं? Word दस्तावेज़ के लिए पृष्ठभूमि चित्र सेट करने के बारे में कैसे? हां, आप माइक्रोसॉफ्ट वर्ड के लिए बैकग्राउंड पिक्चर सेट कर सकते हैं।