`

Android 底部菜单栏

 
阅读更多

Android程序,许多时候需要菜单栏显示在底部或顶部,但是没有很好的组建供程序员调用,过自定义了一个视图,用来实现底部菜单栏。

@Override

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.main);

linearLayout = (LinearLayout) findViewById(R.id.home);

linearLayout.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

linearLayout.setBackgroundResource(R.drawable.tab_two_highlight);

publish.setBackgroundResource(R.drawable.tab_one_normal);
change.setBackgroundResource(R.drawable.tab_one_normal);
more.setBackgroundResource(R.drawable.tab_one_normal);

}

});

linearLayout.setBackgroundResource(R.drawable.tab_two_highlight);
publish = (LinearLayout) findViewById(R.id.publish);
publish.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

publish.setBackgroundResource(R.drawable.tab_two_highlight);
linearLayout.setBackgroundResource(R.drawable.tab_one_normal);
change.setBackgroundResource(R.drawable.tab_one_normal);
more.setBackgroundResource(R.drawable.tab_one_normal);
}

});

change = (LinearLayout) findViewById(R.id.change);
change.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

change.setBackgroundResource(R.drawable.tab_two_highlight);
linearLayout.setBackgroundResource(R.drawable.tab_one_normal);
publish.setBackgroundResource(R.drawable.tab_one_normal);
more.setBackgroundResource(R.drawable.tab_one_normal);

}
});

more = (LinearLayout) findViewById(R.id.more);
more.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
more.setBackgroundResource(R.drawable.tab_two_highlight);

linearLayout.setBackgroundResource(R.drawable.tab_one_normal);
publish.setBackgroundResource(R.drawable.tab_one_normal);

change.setBackgroundResource(R.drawable.tab_one_normal);

}
});

}

 

< ?xml version="1.0" encoding="utf-8"?>

< LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="wrap_content">

< LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="80px"
android:layout_height="wrap_content" android:id="@+id/home"
android:background="@drawable/tab_one_normal">

< TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="@string/home"
android:gravity="center" android:paddingTop="29px"
android:background="@drawable/home" />

< /LinearLayout>

< ImageView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:src="@drawable/line" />

< LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="80px"
android:layout_height="wrap_content" android:background="@drawable/tab_one_normal"
android:id="@+id/publish">

< TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="@string/publish"
android:gravity="center" android:paddingTop="29px"
android:background="@drawable/publish" />

< /LinearLayout>

< ImageView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:src="@drawable/line" />

< LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="80px" android:id="@+id/change"
android:layout_height="wrap_content" android:background="@drawable/tab_one_normal">

< TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="@string/change"
android:gravity="center" android:paddingTop="29px"
android:background="@drawable/change" />
< /LinearLayout>

< ImageView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:src="@drawable/line" />

< LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="80px" android:id="@+id/more"

android:layout_height="wrap_content" android:background="@drawable/tab_one_normal">


< TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="@string/more"
android:gravity="center" android:paddingTop="29px"
android:background="@drawable/more" />

< /LinearLayout>
< /LinearLayout>
 
分享到:
评论

相关推荐

    Android底部菜单栏

    这个“Android底部菜单栏”教程是为初学者设计的,旨在帮助他们理解如何在Android应用中实现这一功能。我们将主要探讨TabHost组件,它是Android早期版本中用来实现标签页式导航的一种方式。 首先,我们需要了解底部...

    android底部菜单栏demo

    android底部菜单栏demo

    android底部菜单栏

    总的来说,创建Android底部菜单栏涉及到布局设计、菜单资源定义、事件监听以及可能的样式定制。开发者需要对Android的UI组件和生命周期有深入理解,才能构建出用户体验良好的底部导航功能。通过不断实践和优化,我们...

    Android 底部菜单栏(RadioGroup+Fragment)美化

    在Android应用开发中,底部菜单栏(通常称为TabBar或BottomNavigationView)是用户界面不可或缺的一部分,它为用户提供了一种在不同功能模块之间切换的方式。本文将深入探讨如何使用RadioGroup结合Fragment来实现...

    Android底部菜单栏的两种实现方式demo 附完整源码.rar

    本教程将详细讲解两种实现Android底部菜单栏的方法,并提供完整的源码供参考。 一、通过TabWidget实现底部菜单栏 TabWidget是Android SDK中的一个控件,它允许在界面上创建一个可滚动的标签页。以下是如何使用...

    实现Android底部菜单栏效果(源码)

    在Android应用开发中,底部菜单栏(Bottom Navigation...总的来说,设计和实现Android底部菜单栏需要对Android的布局系统、事件处理和资源管理有深入理解。通过不断实践和优化,你可以创建出符合用户体验的底部导航栏。

    Android底部菜单栏 仿微博效果

    下面我们将详细介绍如何使用TabHost来实现Android底部菜单栏的仿微博效果。 首先,我们需要在XML布局文件中设置TabHost。在提供的部分代码中,我们可以看到以下布局结构: ```xml &lt;TabHost xmlns:android=...

    android 底部菜单栏

    在Android应用开发中,底部菜单栏(Bottom Navigation Bar)是一个重要的设计元素,它提供了一种简单易用的方式,让用户能够轻松地在应用的主要功能之间切换。通常,底部菜单栏包含3到5个图标按钮,每个按钮对应一个...

    纯代码实现android底部菜单栏fragment+button

    通过以上步骤,我们可以构建一个纯代码实现的Android底部菜单栏,实现动态加载和切换Fragment的功能。这种方式虽然相对于XML布局文件略显复杂,但在某些特定场景下,如动态生成布局或者需要更灵活的控制时,纯代码...

    Android--底部菜单栏实现

    总之,创建一个Android底部菜单栏需要理解`BottomNavigationView`的工作原理,以及如何结合`MenuItem`和`Fragment`来响应用户的交互。同时,掌握好Android布局管理、事件监听和数据绑定等基本概念也是必不可少的。...

    android 底部菜单栏 TabHost

    在Android应用开发中,底部菜单栏(Bottom Navigation Bar)是一种常见的用户界面元素,它提供了一种方便用户在多个主要功能之间切换的方式。本资源聚焦于使用`TabHost`组件来实现这种底部菜单栏功能。`TabHost`是...

    Android底部菜单栏显示与隐藏

    本文将深入探讨如何在Android中实现底部菜单栏的显示与隐藏。 首先,让我们了解底部导航菜单的基本构建。在Android中,我们通常使用`BottomNavigationView`组件来创建底部导航栏。这是一个自Android Design Support...

    android底部菜单中间部分凸起

    总结来说,"android底部菜单中间部分凸起"是通过自定义样式和选中事件监听来实现的,而"微信底部带数目显示菜单"则是通过自定义菜单项视图或者使用BadgeView来完成的。这两个特性都是为了提升用户体验,提供清晰的...

    炫酷的底部菜单栏切换效果.zip

    总之,“炫酷的底部菜单栏切换效果”是一个结合了Android底部菜单、自定义动画和视图交互设计的实例。开发者需要掌握Android UI组件的使用、动画系统的工作原理以及如何通过编程实现动态效果。通过深入理解这些知识...

    Android底部菜单栏(RadioGroup+Fragment)美化

    Android 底部菜单栏美化(RadioGroup+Fragment) Android 底部菜单栏美化是 Android 应用程序中一个非常重要的组件,它提供了用户快速导航的功能,但是网上关于这方面的 demo 做得太丑了,这篇文章将会介绍如何使用...

    android 自定义仿微信底部菜单栏

    本教程将详细讲解如何创建一个仿微信底部菜单栏,实现类似微信聊天界面底部菜单的功能,包括菜单字体的显示与隐藏、菜单项的动态缩放等效果。 一、底部菜单栏设计 底部菜单栏(Bottom Navigation Bar)通常包含3到5...

    android底部凸起导航菜单

    本示例中的“android底部凸起导航菜单”是利用`FrameLayout`来实现的,它具有类似`RadioGroup`的交互效果,即点击某个选项时会显示高亮状态,提供清晰的用户反馈。 `FrameLayout`是Android的一种布局容器,它允许子...

Global site tag (gtag.js) - Google Analytics