एक गैलरी को एक कॉलम और कॉलम आकार के साथ एक दृश्य रखें जिसमें मूल दृश्य (या उस प्रभाव से कुछ) भरने के लिए सेट किया गया है। ग्रिड व्यू में एक गैलरी रखें और लेआउटपैम्स में अपनी ऊंचाई को उन ड्रॉबल्स/दृश्यों की ऊंचाई पर सेट करें जिन्हें आप उन पर कब्जा करना चाहते हैं। आपको बस इतना करना है कि ग्रिड व्यू में सभी को स्थानांतरित करने के लिए एक गैलरी स्थानांतरित हो जाती है। मैं नीचे कोड पोस्ट करूंगा। नोट: मैंने जो कोड किया है वह अवधारणा का एक परीक्षण है जो काम करता है, मैंने बस इसे अपने फोन पर करने की कोशिश की। हालांकि, यह चमकदार नहीं है। जैसा कि मैं इस पर काम करना जारी रखता हूं, मैं इसे अच्छे दिखने के लिए कोड अपडेट कर सकता हूं।
~ Aedon :)
public class Test extends Activity {
/** Called when the activity is first created. */
GridView gv;
Gallery g[] = new Gallery[3];
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gv = (GridView) findViewById(R.id.gridview);
gv.setAdapter(new GAdapter());
for (int i = 0; i < g.length; i++) {
g[i] = new Gallery(this);
g[i].setAdapter(new GGAdapter());
g[i].setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View arg0, MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_UP) {
for (int j = 0; j < g.length; j++) {
g[j].setSelection(((AdapterView) arg0)
.getSelectedItemPosition());
}
}
return false;
}
});
}
}
private class GAdapter extends BaseAdapter {
public GAdapter() {
}
@Override
public int getCount() {
return g.length;
}
@Override
public Object getItem(int pos) {
return pos;
}
@Override
public long getItemId(int pos) {
return pos;
}
@Override
public View getView(final int pos, View convertView, ViewGroup parent) {
g[pos].setLayoutParams(new GridView.LayoutParams(gv.getWidth(), gv
.getHeight()));
return g[pos];
}
}
private class GGAdapter extends BaseAdapter {
int[] images = new int[] { R.drawable.icon, R.drawable.icon,
R.drawable.icon };
public GGAdapter() {
}
@Override
public int getCount() {
return images.length;
}
@Override
public Object getItem(int pos) {
return pos;
}
@Override
public long getItemId(int pos) {
return pos;
}
@Override
public View getView(final int pos, View convertView, ViewGroup parent) {
ImageView mIV = new ImageView(Test.this);
mIV.setBackgroundResource(images[pos]);
mIV.setLayoutParams(new Gallery.LayoutParams(gv.getWidth(), gv
.getHeight()/3));
return mIV;
}
}
}
और मेरे xml फ़ाइल:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<GridView
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:horizontalSpacing="10dp"
android:numColumns="1"
android:verticalSpacing="10dp" />
</LinearLayout>
मुझे लगता है कि कोशिश की, लेकिन ऐसा लगता है GridView क्षैतिज स्क्रॉल का समर्थन नहीं करता है: http: //stackoverflow.com/questions/ 29 9 7818/ग्रिडव्यू-साथ-क्षैतिज-स्क्रॉल –