سؤال

أنا أعرف كيفية وضع الرمز في كل علامة تبويب، ليست مشكلة. لقد صادفت أيضا عبر هذا: [كومة تجاوز الخيط على نفس الشيء جدا] [1

تابعت إحدى الروابط من هذا السؤال ووجدت [هذا] [2

إلى حد كبير، وقال لاستخدام محدد محدد في XML، بالتأكيد، فعل ذلك. ولكن لا يوجد معرف يرتبط W / IT لذلك أنا لست متأكدا من كيفية الحصول على وظيفة المحدد كمرشفة حتى أتمكن من استخدامه كأكبرات لعلامات التبويب. ربما سأذهب في هذه الطريقة الخطأ. ولكن هذا ما لدي، ومن الواضح أن افتقد شيئا ما.

<selector
    android:id="@+id/myselector"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- Non focused states -->
    <item
        android:state_focused="false"
        android:state_selected="false"
        android:state_pressed="false"
        android:drawable="@drawable/darklogo" />
    <item
        android:state_focused="false"
        android:state_selected="true"
        android:state_pressed="false"
        android:drawable="@drawable/lightlogo" />

    <!-- Focused states -->
    <item
        android:state_focused="true"
        android:state_selected="false"
        android:state_pressed="false"
        android:drawable="@drawable/lightlogo" />
    <item
        android:state_focused="true"
        android:state_selected="true"
        android:state_pressed="false"
        android:drawable="@drawable/lightlogo" />

    <!-- Pressed -->
    <item
        android:state_pressed="true"
        android:drawable="@drawable/lightlogo" />
</selector>

في التعليمات البرمجية الخاصة بي، يتم إنشاء علامة تبويب مثال باستخدام:

  host.addTab(host.newTabSpec("three")  
                .setIndicator("map",drawables)  
                .setContent(new Intent(this, Map.class))); 

يمتاز الآن هو مجرد إشارة إلى مورد صور قابل للشرح. كيف يمكنني جعل المحدد قابلة للشرح؟

هذا هو سؤالي [1]: تحديث الرموز Tab Tab [2]: http://groups.google.com/group/android-evelopers/browse_thread/thread/ef3bdebcbcb715b385.

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

المحلول

تعد XML التي قمت بتضمينها هنا هي وسيلة لتحديد علامة جميلة تتيح لك تضمين بيان الحالة. إنه يعرض مختلفا تماما اعتمادا على حالة الرأي الذي يتم تعيينه إليه. كشام، يجب عليك حفظه كملف XML داخل res/drawable مجلد مشروعك (على سبيل المثال tabselector.xml).

لاستخدامها في Tabhost، تحتاج إلى إنشاء tabactivity كما تفعل عادة (كما هو موضح في هذا مثال تعليمي).

ثم عند إضافة علامة تبويب إلى المضيف، تحدد tabselector جميلة مثل المؤشر كما هو موضح ل "علامة التبويب 1" أدناه.

Drawable mySelector = getResources().getDrawable(R.drawable.tabselector);

mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator("TAB 1", mySelector).setContent(R.id.textview1));
mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator("TAB 2").setContent(R.id.textview2));

ملاحظة: أنت لا تستطيع تغيير لون خلفيات علامة التبويب خلف الرموز في هذه المرحلة.

نصائح أخرى

يمكنك استخدام عرض كمؤشر، بهذه الطريقة يمكنك تخصيصها بالطريقة التي ترغب في ذلك.

mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator(View MyView).setContent(R.id.textview1));
mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator("TAB 2").setContent(R.id.textview2));

سيستخدم علامة التبويب الأولى عرضا كمؤشر لها والثاني الأختون. إلقاء نظرة على فئة Tabspec الفعلية (http://developer.android.com/Reference/android/widget/tabhost.tabspec.html.).

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