كيفية تعيين علامات التبويب في الجزء السفلي من الشاشة في Android؟

StackOverflow https://stackoverflow.com/questions/2401140

سؤال

أنا أعمل على tabactivity.

أريد أن أظهر لي tabwidget أدناه tabcontent (framelayout).

لقد فعلت ذلك عن طريق تعيين سمة tabwiget tab

android:gravity="bottom"

لكن Framelayout غير قادر على محاذاة مع علامات التبويب هذه.

هذه هي علامات التبويب تظهر في الجزء السفلي من الشاشة وتداخل Framelayout

كيف يتم فعل ذلك؟ إذا قمت بتعيين بعض قيمة الارتفاع إلى FRAMELAYOUT غير محسن لجميع شاشات Android. ماذا افعل؟ اي فكرة؟؟؟

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

المحلول

أو مجرد استخدام واحد مخصص من:http://code.google.com/p/androidtabs/

يسمح علامات التبويب في الأسفل

نصائح أخرى

المفهوم الأساسي وراء Tab-Activity كالآتي

TabHost هو حاوية لعرض نافذة مبوبة. هذا الكائن يحمل طفلين: مجموعة من علامات التبويب أن ينقر المستخدم لتحديد علامة تبويب محددة، وكائن FRAMELAYOUT الذي يعرض محتوى تلك الصفحة.

عادة ما يتم التحكم في العنصر الفردي باستخدام كائن الحاوية هذا، بدلا من إعداد القيم على عناصر الأطفال نفسها.

TabWidget يعرض قائمة علامات التبويب التي تمثل كل صفحة في مجموعة علامة التبويب الأصل. كائن الحاوية لهذه القطعة هو tabhost. عندما يقوم المستخدم بتحديد علامة تبويب، يرسل هذا الكائن رسالة إلى الحاوية، Tabhost، لمعرفة تبديل صفحة العرض. يتم استخدام Tabhost الحاوية لإضافة ملصقات، إضافة معالج رد الاتصال، وإدارة عمليات الاسترجاعات.

حتى ضبط التصميم الخاص بك على النحو التالي -

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <FrameLayout
        android:id="@android:id/tabcontent"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" >
    </FrameLayout>

    <TabWidget
        android:id="@android:id/tabs"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="-3dip"
        android:layout_weight="0" >
    </TabWidget>
  </LinearLayout>

  </TabHost>

أمثلة أندرويد لإنقاذ!

http://developer.android.com/resources/tutorials/views/hello-tabwidget.html

فقط قم بتبديل TabContent وعلامات التبويب في RES / Layout / Main.xml:

   <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="5dp">
   <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:padding="5dp" />        
   <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />

   </LinearLayout>

يرجى التحقق من الرابط التالي

هناك طريقتان لعرض علامات التبويب في أسفل نشاط تبويب.

1) استخدام التصميم النسبي 2) باستخدام سمة Layout_Weight

http://justkumar.blogspot.com/2012/09/Tabs-at-bottom-of-tabactivity-by.html.

افحص هذا

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" 
android:id="@android:id/tabhost">
<LinearLayout android:id="@+id/LinearLayout01"
android:orientation="vertical" 
android:layout_height="fill_parent"
android:layout_width="fill_parent">

<FrameLayout
android:id="@android:id/tabcontent"
android:layout_height="fill_parent"
android:layout_width="fill_parent">

    <TabWidget 
android:layout_height="wrap_content" 
android:layout_width="fill_parent" 
android:layout_gravity="bottom" 
android:id="@android:id/tabs">
</TabWidget>
</FrameLayout>

</LinearLayout>

هذا هو رمز علامة التبويب السفلي

<TabWidget
android:layout_width="fill_parent"
android:layout_height="60dp"
android:layout_gravity="bottom" 
android:background="#0000"
android:id="@android:id/tabs"
/>



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