كيفية تعيين علامات التبويب في الجزء السفلي من الشاشة في Android؟
-
18-09-2019 - |
سؤال
أنا أعمل على 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"