2013-09-22 62 views
5

Tôi đã tìm kiếm khoảng một ngày để tìm ứng dụng Android của tôi có các tab ở cuối màn hình.Android - Các tab ở cuối màn hình

Trên trang web nhà phát triển Android trong Styles and Themes phần, họ dường như có ví dụ chính xác về những gì tôi đang cố gắng để làm, tuy nhiên họ đã không tìm thấy nó cần thiết để cung cấp một ví dụ khá về điều này:

enter image description here

Tất cả các mẹo/giải pháp tôi tìm thấy trên web đều không thành công. Tôi luôn luôn dường như để có được bố trí mông-xấu xí sau khi các tab đang rất thất lạc ở phía trên cùng màn hình bên cạnh tên ứng dụng :-(

enter image description here

Có ai có một đầu mối làm thế nào để thực hiện điều này?

Cảm ơn bạn rất nhiều trước cho bất cứ lời khuyên

+0

Đó là không có các tab nhưng một ActionBar chia. Bạn có thể đọc thêm về nó trong Hướng dẫn dành cho nhà phát triển Android (http://developer.android.com/guide/topics/ui/actionbar.html). – Ridcully

+0

@Wesley, Đây là chức năng chế độ xem 'Split Action Bar'. Bạn có thể tìm thấy một số ví dụ tốt. Bạn cần xác định thuộc tính trong 'Tệp kê khai Android '. –

Trả lời

11

tôi nghĩ rằng những ví dụ sẽ hữu ích cho bạn: Android Bottom tab bar exampleTHIS

+5

Trong khi điều này về lý thuyết có thể trả lời câu hỏi, [nó sẽ là thích hợp hơn] (http://meta.stackoverflow.com/q/8259) để bao gồm các phần thiết yếu của câu trả lời ở đây, và cung cấp liên kết để tham khảo. – Keelan

1

Tôi nghĩ bạn chưa đủ tìm kiếm cho vấn đề của bạn bởi vì bạn đang tìm kiếm bằng cách sử dụng từ khóa sai.

gì bạn đang hiển thị trong hình ảnh 1 ở phía dưới của ứng dụng gmail có 4 đơn và menu tràn 5 và trên tại quầy bar hành động từ trên

Bạn có thể đặt một menu ở dưới cùng sử dụng một tài sản đơn giản trong biểu hiện; một dòng duy nhất đối với hoạt động chính mà thấy thanh hành động

android:uiOptions="splitActionBarWhenNarrow"

Như thế này:

<activity 
    android:name="com.example.HomeActivity" 
    android:screenOrientation="portrait" 
     android:uiOptions="splitActionBarWhenNarrow" 
    android:theme="@style/Theme.Sherlock.Light" > 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 

     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 
0

của nó rất đơn giản ....

Đối với thanh tab đơn giản chúng tôi sử dụng

<?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:orientation="vertical" 
     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" /> 
     <FrameLayout 
      android:id="@android:id/tabcontent" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:padding="5dp" /> 
    </LinearLayout> 
</TabHost> 

Nhưng trong thanh Tab dưới chúng tôi sử dụng

**

<?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"> 
    <RelativeLayout 
     android:layout_height="fill_parent" 
     android:layout_width="fill_parent"> 
     <TabWidget 
      android:id="@android:id/tabs" 
      android:layout_alignParentBottom="true" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" /> 
     <FrameLayout 
      android:id="@android:id/tabcontent" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:padding="5dp" /> 
    </RelativeLayout> 
</TabHost>** 

Điều quan trọng là

android:layout_alignParentBottom=”true”; 
1

tôi sử dụng bố cục này để định vị Tab trong bo ttom của màn hình:

?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="match_parent" 
    android:layout_height="match_parent"> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <FrameLayout 
      android:id="@android:id/tabcontent" 
      android:layout_width="0dp" 
      android:layout_height="0dp" 
      android:layout_weight="0"/> 
     <FrameLayout 
      android:id="@+android:id/realtabcontent" 
      android:background="@drawable/bg_main_app_gradient" 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="1"/> 
     <TabWidget 
      android:id="@android:id/tabs" 
      android:background="#EAE7E1" 
      android:orientation="horizontal" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="0"/> 
    </LinearLayout> 
</TabHost> 

examle mã: https://stackoverflow.com/a/23150258/2765497

0

Tôi đã xem qua câu hỏi của bạn đang cố gắng làm điều tương tự, tuy nhiên theo chủ trương phát triển android, bạn nên không bao giờ có một thanh tab ở phía dưới , vì đây là một tính năng iOS ...

Android Development Standards

+0

Điều thú vị này là ứng dụng Gmail của riêng họ thường có menu ở dưới cùng – Han

0

Bạn dường như có thanh dưới cùng một chút bối rối. Đó không phải là một thanh tab. Thanh dưới cùng dành cho hành động, không điều hướng màn hình. Ví dụ: trong ảnh chụp màn hình của ứng dụng Gmail bạn đã đăng ở trên, thanh dưới cùng cho phép người dùng: Soạn Email, Tìm kiếm, Thẻ, Làm mới và hơn thế nữa. Tham khảo:

Về mặt kỹ thuật, các nút này điều hướng người dùng đến màn hình khác nhưng thanh tab thường được sử dụng để "chuyển đổi" màn hình. Ví dụ xem nội dung theo thể loại.

Rất tiếc, nhưng trong phiên bản mới nhất của ứng dụng Gmail, chúng có các nút tác vụ này ở trên cùng. Sigh ...

+0

Trong khi liên kết này có thể trả lời câu hỏi, tốt hơn nên bao gồm các phần quan trọng của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở thành không hợp lệ nếu trang được liên kết thay đổi. –

+0

Cảm ơn lời khuyên. Liên kết chỉ để tham khảo. – Vasim

1

Google không khuyên bạn nên có Tab ở dưới cùng.

Xem hướng dẫn mẫu thiết kế chính thức sau từ Android,
Và tìm kiếm phần "Không sử dụng các thanh tab dưới cùng"

http://developer.android.com/design/patterns/pure-android.html

+0

không, trong khi điều này được đề xuất bởi Android/Google, điều này nghe có vẻ vô lý đối với các nhà thiết kế bố trí. Sử dụng các tab không thực sự xấu sau khi tất cả. – Raptor

+5

Ứng dụng Google+ mới nhất có các tab ở cuối màn hình, chính xác theo cách mà tài liệu cho biết nó không nên được sử dụng. – moyheen

+3

http://www.theverge.com/2016/3/15/11236152/material-design-update-bottom-navigation-bar –

1

tôi muốn gửi một bản cập nhật tại đây. Bottom nav bars are now Android Canon. Các đường cất chính từ đây là:

1) Chỉ sử dụng thanh điều hướng phía dưới cho 3-5 biểu tượng. Ít hơn, sử dụng tabs. Hơn nữa, sử dụng các tab cuộn (trang xuống trên cùng một liên kết đó).

2) Tránh sử dụng thanh điều hướng dưới cùng và các tab cùng nhau, và đảm bảo trách nhiệm của cả hai được phân tách rõ ràng nếu bạn làm.

3) thanh nav dưới nên được sử dụng cho navigation không hành động (sử dụng ActionBar cho những)