यहां मैंने वही किया है और मुझे यह कहते हुए खुशी हो रही है कि यह मेरे लिए काम कर रहा है। मुझे भी पूरे स्क्रीन को कवर करने के लिए 2x2, 3x3 आदि वस्तुओं की ग्रिड चाहिए थी। Gridlayouts स्क्रीन की चौड़ाई का पालन नहीं करते हैं। काम के प्रकार LinearLayouts लेकिन आप नेस्टेड वजन का उपयोग नहीं कर सकते।
मेरे लिए सबसे अच्छा विकल्प यह था कि मैं इस का उपयोग करके फ्रेग्मेंट्स का उपयोग करूं ट्यूटोरियल का जो कि मैं करना चाहता था।
यहाँ कुछ कोड है:
मुख्य गतिविधि:
public class GridHolderActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_6);
}
}
activity_main_6 XML (3 टुकड़े बढ़ाता है)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<fragment
android:id="@+id/frag1"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:name=".TwoHorizontalGridFragment"
tools:layout="@layout/two_horiz" />
<fragment
android:id="@+id/frag2"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:name=".TwoHorizontalGridFragment"
tools:layout="@layout/two_horiz" />
<fragment
android:id="@+id/frag3"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:name=".Grid.TwoHorizontalGridFragment"
tools:layout="@layout/two_horiz" />
बेस टुकड़ा लेआउट
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_gravity="center"
android:layout_height="match_parent">
<ImageQueue
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/img1"
android:layout_weight="1"/>
<ImageQueue
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/img2"
android:layout_weight="1"/>
</LinearLayout>
टुकड़ा वर्ग (केवल एक कस्टम दृश्य के आरंभीकरण को संभालता है) प्रति टुकड़े 2 टाइलें फुलाता है
public class TwoHorizontalGridFragment extends Fragment {
private View rootView;
private ImageQueue imageQueue1;
private ImageQueue imageQueue2;
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
/**
* Inflate the layout for this fragment
*/
rootView = inflater.inflate(
R.layout.two_horiz, container, false);
return rootView;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
imageQueue1 = (ImageQueue)rootView.findViewById(R.id.img1);
imageQueue2 = (ImageQueue)rootView.findViewById(R.id.img2);
imageQueue1.updateFiles();
imageQueue2.updateFiles();
}
}
बस!
यह आवश्यक रूप से नेस्टेड वजन का उपयोग करने के लिए एक अजीब काम है। यह मुझे एक परिपूर्ण 2x3 ग्रिड देता है जो मेरे 10 इंच के टैबलेट और मेरे एचटीसी ड्रॉयड डीएनए दोनों की पूरी स्क्रीन को भरता है। मुझे समझने दीजिए यह आपके लिए कैसा रहेगा!