سؤال

لدي تطبيق يستهدف إطار 1.5 ويستخدم موضوع الضوء الافتراضي. عند استخدام عنصر واجهة مستخدم علامة التبويب مع هذا الموضوع، فإن صور علامات التبويب مرئية بالكاد، وتستعرض علامة التبويب مستحيلة جدا للتمييز، باستثناء علامة التبويب نشطة حاليا.

في السمة الداكنة الافتراضية، تأتي علامات التبويب هذه بشكل واضح تماما، لكن هذا ليس حلا سأكون سعيدا جدا به. هل هناك إعداد بسيط يمكنني تعيينه، يقوم بإعداد عنصر واجهة مستخدم TAB للحصول على رؤية أفضل في المواضيع الإضاءة، أو هل يجب علي العبث بالصور وأنماط النص يدويا؟

هل كانت مفيدة؟

المحلول

انها ليست جميلة، ولكن يمكنك تجربة ذلك في نشاط علامة التبويب الخاص بك.

// light theme support
final TabHost tabHost = getTabHost();
tabHost.setBackgroundColor(Color.WHITE);
tabHost.getTabWidget().setBackgroundColor(Color.BLACK);

// hack to set font size
LinearLayout ll = (LinearLayout) tabHost.getChildAt(0);
TabWidget tw = (TabWidget) ll.getChildAt(0);

// first tab
RelativeLayout rllf = (RelativeLayout) tw.getChildAt(0);
lf = (TextView) rllf.getChildAt(1);
lf.setTextSize(21);
lf.setPadding(0, 0, 0, 6);

// second tab
RelativeLayout rlrf = (RelativeLayout) tw.getChildAt(1);
rf = (TextView) rlrf.getChildAt(1);
rf.setTextSize(21);
rf.setPadding(0, 0, 0, 6);

/RES/Values/Colors.xml يجب أن يكون

<resources>
    <drawable name="black">#ff000000</drawable>
    <drawable name="white">#ffffffff</drawable>
</resources>

يجب أن يكون Androidmaniest.xml.

<application android:theme="@android:style/Theme.Light">

إذا كنت تريد أن تفعل شيئا جنونا، فحاول http://ezmobile.wordpress.com/2009/02/02/Customized-android-Tabs/

نصائح أخرى

هذا خطأ؛ هل تستطيع الإبلاغ عنه في تعقب القضية?

AFAIK، الحل الخاص بك من تخصيص أنماط النص وصور الأصوات تبدو صحيحة.

من الجدير بالذكر أيضا أن عنصر واجهة علامات التبويب في 2.0 لا يبدو أن يكون له نمط خفيف.

باستخدام أداة HierarchyViewer، وجدت معرف Android للنصية في علامة التبويب. طريقة أفضل لتغيير خصائص النص (بما في ذلك اللون) هي عن طريق القيام بما يلي ...

TabWidget tw = (TabWidget)tabHost.findViewById(android.R.id.tabs);
View tabView = tw.getChildTabViewAt(0);
TextView tv = (TextView)tabView.findViewById(android.R.id.title);
tv.setTextSize(20);

طريقة بسيطة للغاية لحل مشكلة اللون / التباين في التصميم:

<TabWidget
   android:id="@android:id/tabs"
   android:background="#FF000000"
   android:padding="2dp"

هذا يحدد خلفية TabWidget إلى Black ويضيف الحشو قليلا لذلك لديك تباين مع علامات التبويب مقابل الخلفية السوداء. انها ليست مثالية، ولكنها تعمل في 1.5، 2.2، الضوء والظلام الموضوع.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top