मेरा नियोक्ता मुझे बहुत विशिष्ट यूआई आवश्यकताओं के साथ एंड्रॉइड एप्लिकेशन पर काम कर रहा है। विशेष रूप से, हमें एक इंटरफ़ेस की आवश्यकता होती है जो बिल्कुल TabWidget इंटरफ़ेस की तरह दिखती है। हालांकि, बाईं ओर वाले टैब होने पर एक पूर्ण जरूरी है। हम किसी भी एंड्रॉइड फोन पर किसी भी एंड्रॉइड फोन पर इस एप्लिकेशन को तैनात नहीं करेंगे, और इस तरह एंड्रॉइड प्लेटफ़ॉर्म के किसी भी डिज़ाइन विचारों का उल्लंघन करने में कोई समस्या नहीं है।एंड्रॉइड टैबविड्ज के लिए मौजूदा पैच बाएं हाथ की तरफ टैब की अनुमति देने के लिए?
हमारे पास पहले से ही एक कामकाजी प्रोटोटाइप है जो फोकस श्रोताओं और सूची दृश्यों के संयोजन का उपयोग करके हमें आवश्यक कार्यक्षमता को एक साथ जोड़ता है। यह सुंदर नहीं है, और हम अभी तक इसमें बहुत भरोसेमंद नहीं हैं, लेकिन यह समय के लिए काम करता है।
हम वास्तव में क्या चाहते हैं कि हमारे सभी प्रोटोटाइप यूआई कोड को टैबविड्ज में निर्मित करने के बदले में फेंक दें। हालांकि, चूंकि टैबविड्ज को केवल शीर्ष पर टैब के साथ काम करने के लिए हार्डकोड किया गया है, यह वास्तव में एक विकल्प नहीं है।
तो, हम उम्मीद कर रहे हैं किसी को वहाँ बाहर एक पैच, या पैच का सेट, या शायद एक कस्टम वर्ग, कि बजाय तरफ टैब के साथ TabWidget कार्यक्षमता संभालती है?
TabWidget के लिए प्रासंगिक कोड यहाँ है: http://www.google.com/codesearch/p?hl=en#uX1GffpyOZk/core/java/android/widget/TabWidget.java&q=android%20package:git://android.git.kernel.org%20lang:java%20tabwidget&sa=N&cd=1&ct=rc
और विशेष समारोह है कि शीर्ष पर नजर होने के लिए hardcoded है
private void initTabWidget() {
setOrientation(LinearLayout.HORIZONTAL);
mGroupFlags |= FLAG_USE_CHILD_DRAWING_ORDER;
final Context context = mContext;
final Resources resources = context.getResources();
if (context.getApplicationInfo().targetSdkVersion <= Build.VERSION_CODES.DONUT) {
// Donut apps get old color scheme
if (mLeftStrip == null) {
mLeftStrip = resources.getDrawable(
com.android.internal.R.drawable.tab_bottom_left_v4);
}
if (mRightStrip == null) {
mRightStrip = resources.getDrawable(
com.android.internal.R.drawable.tab_bottom_right_v4);
}
} else {
// Use modern color scheme for Eclair and beyond
if (mLeftStrip == null) {
mLeftStrip = resources.getDrawable(
com.android.internal.R.drawable.tab_bottom_left);
}
if (mRightStrip == null) {
mRightStrip = resources.getDrawable(
com.android.internal.R.drawable.tab_bottom_right);
}
}
// Deal with focus, as we don't want the focus to go by default
// to a tab other than the current tab
setFocusable(true);
setOnFocusChangeListener(this);
}
है किसी को भी किसी भी जानकारी है, तो मैं बहुत आभारी होगा ।
यह एक वास्तविक शर्म की बात है कि TabActivty टैब पर नीचे या तरफ से टैब को संभाल नहीं सकता है। मुझे नहीं लगता कि यह क्यों नहीं बनाया गया है। मैंने एंड्रॉइड बग ट्रैकर पर एक बग रिपोर्ट स्थापित की है, लेकिन वास्तव में कोई संकेत नहीं है कि यह जल्द ही किसी भी समय काम करेगा। http://code.google.com/p/android/issues/detail?id=3862&can=1&q=TabWidget&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars#makechanges –