我一直在寻找一天让我的Android应用程序在屏幕底部有标签的方法。
在Android开发者网站的样式和主题部分,他们似乎有我想要做的确切示例,但是他们没有必要提供一个体面的例子:
我在网上找到的所有提示/解决方案都失败了。我似乎总是得到以下对接丑陋的布局,其中选项卡在应用程序名称旁边的屏幕顶部错位: - (
有没有人知道如何做到这一点?
如果有任何提示,请提前感谢您!
答案 0 :(得分:11)
我认为这些示例对您有用:Android Bottom tab bar example和THIS
答案 1 :(得分:4)
答案 2 :(得分:2)
我使用此布局在屏幕底部找到标签:
?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>
答案 3 :(得分:1)
我认为您搜索的问题不够,因为您使用错误的关键字进行搜索。
您在gmail应用程序底部的第一张图片中显示的内容有4个菜单和第5个溢出菜单以及顶部操作栏上方
您可以使用清单中的简单属性在底部放置一个菜单;主要活动上的一行显示操作栏
android:uiOptions="splitActionBarWhenNarrow"
像这样:
<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>
答案 4 :(得分:1)
Google建议不要在底部添加标签。
请参阅Android的以下官方设计模式指南,
并查找“不要使用底部标签栏”
http://developer.android.com/design/patterns/pure-android.html
答案 5 :(得分:1)
我想在这里发布更新。 Bottom nav bars are now Android Canon.主要的收获是:
1)仅使用3-5个图标的底部导航栏。少一点,使用tabs。此外,使用可滚动的标签(在同一链接上向下翻页)。
2)避免同时使用底部导航栏和标签,并确保两者的责任明确分开。
3)底部导航栏应该用于导航而非操作(使用ActionBar
表示)
答案 6 :(得分:1)
答案 7 :(得分:0)
非常简单......
对于简单的标签栏,我们使用
<?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>
但是在Bottom标签栏中我们使用
**
<?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>**
主要是
android:layout_alignParentBottom=”true”;
答案 8 :(得分:0)
我遇到了你想要做同样事情的问题,但是根据机器人开发指南,你不应该在底部有一个标签栏,因为这是一个iOS功能......
答案 9 :(得分:0)
你似乎对底栏感到有点困惑。这不是标签栏。底栏用于操作,而不是导航屏幕。例如,在您上面发布的Gmail应用的屏幕截图中,底栏允许用户:撰写电子邮件,搜索,标记,刷新等。请参阅:http://developer.android.com/design/patterns/actionbar.html
从技术上讲,这些按钮会将用户导航到其他屏幕,但标签栏通常用于“切换”屏幕。例如,按类别查看内容。
嗯,但在最新版本的Gmail应用中,他们将这些操作按钮放在首位。叹息...