अंतिम अद्यतन: अब, मैं शेल्फ पर-व्यू पिछले समाधान की तुलना में बेहतर बनाने के लिए एक नया तरीका पता लगा सकते हैं।
HorizontalListView क्लास कि AdapterView लागू होता है: मैं CodeProject
में वर्णित मार्ग से, इस आवेदन में मैं दो वर्गों का इस्तेमाल किया। यह GitHub
Quaere लाइब्रेरी से लगभग Linq2Object के रूप में उपयोग किया जाता है। आप here डाउनलोड कर सकते हैं।
अप्रैल 22 '12:
वहाँ शेल्फ दृश्य लागू करने के लिए यह दो विशेषताएं (क्षैतिज & लंबवत स्क्रॉल) है कि कुछ तरीके हैं। मैं एक प्रोग्राम लिखने की कोशिश करता हूं जो गतिशील रूप से चला सकता है। इस नमूना ऐप में एक एक्सएमएल फ़ाइल है और शोशेल्फ़ व्यू जावा कक्षा है।
तो तुम मेरी एप्लिकेशन देख सकते हैं:
मुख्य एक्सएमएल फ़ाइल: पहले,
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/sclView">
<TableLayout
android:id="@+id/tblLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="0dp">
</TableLayout>
</ScrollView>
showShelfView कक्षा main.XML में निम्न कोड जोड़ें: इनर TableLayout जोड़ने कई HorizontalScroll के बराबर होती है पंक्तियों की संख्या के साथ। किसी भी tableRow छवि भी आंतरिक।
भूल पंक्ति की पृष्ठभूमि के लिए एक शेल्फ छवि सेट न करें:
public class showShelfView extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
int numRow = 4;
int numCol = 8;
TableLayout tblLayout = (TableLayout) findViewById(R.id.tblLayout);
for(int i = 0; i < numRow; i++) {
HorizontalScrollView HSV = new HorizontalScrollView(this);
HSV.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
TableRow tblRow = new TableRow(this);
tblRow.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
tblRow.setBackgroundResource(R.drawable.bookshelf);
for(int j = 0; j < numCol; j++) {
ImageView imageView = new ImageView(this);
imageView.setImageResource(R.drawable.book1);
TextView textView = new TextView(this);
textView.setText("Java Tester");
textView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
tblRow.addView(imageView,j);
}
HSV.addView(tblRow);
tblLayout.addView(HSV, i);
}
}
}
स्रोत
2012-04-22 06:47:36
आप हमें दिखा सकते हैं कि तुम क्या अब तक प्राप्त किया था? –
अभिशाप की हाँ, मैं छवियों, पाठ और बटम को शामिल करने वाले आइटम देखने के लिए एक XML फ़ाइल में उपयोग करता था। मैंने लिखा है कि एक वर्ग एक कस्टमाइज़ व्यूव्यू व्यू बनाने के लिए एडाप्टर व्यू को बढ़ाता है जिसे मैंने इसे कहा: "शेल्फ व्यू"। दुर्भाग्य से, मेरा प्रोग्राम एक पंक्ति दिखाता है और मैं इसे कई पंक्तियों के लिए उपयोग नहीं कर सकता। क्या आपको यह मिला? – azad