- 浏览: 411768 次
文章分类
- 全部博客 (327)
- Android (114)
- Java (13)
- Java基础 (14)
- Glib (2)
- linux (15)
- extjs (5)
- eclipse (2)
- Asterisk (56)
- MYSQL (6)
- 数据库 (9)
- PHP (7)
- C# (18)
- 杂谈~~ (1)
- web开发前端 (3)
- 网络编程 (2)
- Opensips (2)
- voip (3)
- debian (7)
- openfire (15)
- wordpress (1)
- 版本控制 (1)
- Android 线程服务广播 (1)
- SRTP (2)
- 单片机及ARM等 (3)
- 基础知识 (5)
- asp.net (2)
- 单片机 (1)
- 设计模式及架构 (1)
- 安全 (1)
- Cubieboard 草莓树莓各类派 Android开发板 (1)
- J2EE (2)
- BootStrap (3)
- BootStrap web前端开发 (1)
- web前端开发 (4)
- object-c (1)
- openwrt (8)
- 智能家居 (4)
- Node.js (4)
最新评论
-
xiaoxiecomeon:
你这个程序一存在线程的时间片相互抢占的问题,运行时间长了很可能 ...
Runnable 和 Thread -
dotjar:
我觉得话应该这么说:引用TestThread tt = new ...
Runnable 和 Thread -
dagf113225:
调用TelephonyManager的隐藏API是先参考Fra ...
Android提高第十四篇之探秘TelephonyManager
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开源项目整理
2015-09-16 10:13 601一、代码库 1、from 代码家 整理比较好的源 ... -
探讨android更新UI的几种方法
2014-06-09 23:27 616今天讲的内容非常简单,只是讲讲有关于android界面更新的 ... -
Android 滑动切换页面 以及屏幕手势
2014-05-08 17:49 526手机进入智能机时代,触摸屏也已成为主流之势,原来的手机按键也 ... -
android 用Achartengine 作图
2014-05-08 16:55 761Achartengine 是google的一 ... -
Android中使用Animation实现控件的动画效果以及Interpolator和AnimationListener的使用
2014-05-08 16:28 769Animation的4个基本动画效果 What is An ... -
java.lang.ClassNotFoundException: Didn't find class "android.support.v4.view.Vie
2014-05-06 14:43 2933Android错误:Caused by: java.lang ... -
Android Socket通信如何设置超时时间
2014-05-06 14:14 1080其实关于这个问题可能用到的人不会很多,不过我在这里还是说说。 ... -
【转】Android本地语音识别引擎PocketSphinx-语言建模
2014-02-13 10:35 1830Android本地语音识别引擎PocketSphinx- ... -
关于build.prop原始Dalvik虚拟机设定与调整
2013-09-05 10:40 1260原厂S3 台版 1GB Ramsystem/build.pro ... -
Android中Service与IntentService的使用比较
2013-09-04 15:24 1203该博客来自网络——— ... -
android 应用程序Activity之间数据传递与共享的几种途径
2013-08-01 17:24 9061.基于消息的通信机制 Intent ---boud ... -
android数据通信方式
2013-08-01 17:15 911http://www.itkee.com/develope ... -
“android.intent.category.DEFAULT”的目的是什么?
2013-07-31 16:43 5391、要弄清楚这个问题,首先需要弄明白什么是implicit( ... -
集成拨号盘,2句话的事情
2013-07-30 15:45 602<intent-filter> < ... -
Android TabHost动态加载内容总结
2013-07-25 17:49 955前面用继承TabActivity的方法很好的完成了,TabHo ... -
[Android实例] android json
2013-07-17 15:20 655import java.io.ByteArrayOutput ... -
android json解析及简单例子
2013-07-17 15:19 933JSON的定义: 一种轻量级的数据交换 ... -
AsyncTask的用法-UI刷新发放
2013-07-15 14:50 667在开发Android应用时必须遵守单线程模型的原则: A ... -
java.lang.OutOfMemoryError处理错误
2013-07-15 14:41 672java.lang.OutOfMemoryError异常解决 ... -
关于android.view.WindowLeaked异常的解决方案
2013-07-15 10:34 615Android.view.WindowLeaked按字面了解, ...
相关推荐
这个“Android底部菜单栏”教程是为初学者设计的,旨在帮助他们理解如何在Android应用中实现这一功能。我们将主要探讨TabHost组件,它是Android早期版本中用来实现标签页式导航的一种方式。 首先,我们需要了解底部...
android底部菜单栏demo
总的来说,创建Android底部菜单栏涉及到布局设计、菜单资源定义、事件监听以及可能的样式定制。开发者需要对Android的UI组件和生命周期有深入理解,才能构建出用户体验良好的底部导航功能。通过不断实践和优化,我们...
在Android应用开发中,底部菜单栏(通常称为TabBar或BottomNavigationView)是用户界面不可或缺的一部分,它为用户提供了一种在不同功能模块之间切换的方式。本文将深入探讨如何使用RadioGroup结合Fragment来实现...
本教程将详细讲解两种实现Android底部菜单栏的方法,并提供完整的源码供参考。 一、通过TabWidget实现底部菜单栏 TabWidget是Android SDK中的一个控件,它允许在界面上创建一个可滚动的标签页。以下是如何使用...
在Android应用开发中,底部菜单栏(Bottom Navigation...总的来说,设计和实现Android底部菜单栏需要对Android的布局系统、事件处理和资源管理有深入理解。通过不断实践和优化,你可以创建出符合用户体验的底部导航栏。
下面我们将详细介绍如何使用TabHost来实现Android底部菜单栏的仿微博效果。 首先,我们需要在XML布局文件中设置TabHost。在提供的部分代码中,我们可以看到以下布局结构: ```xml <TabHost xmlns:android=...
在Android应用开发中,底部菜单栏(Bottom Navigation Bar)是一个重要的设计元素,它提供了一种简单易用的方式,让用户能够轻松地在应用的主要功能之间切换。通常,底部菜单栏包含3到5个图标按钮,每个按钮对应一个...
通过以上步骤,我们可以构建一个纯代码实现的Android底部菜单栏,实现动态加载和切换Fragment的功能。这种方式虽然相对于XML布局文件略显复杂,但在某些特定场景下,如动态生成布局或者需要更灵活的控制时,纯代码...
总之,创建一个Android底部菜单栏需要理解`BottomNavigationView`的工作原理,以及如何结合`MenuItem`和`Fragment`来响应用户的交互。同时,掌握好Android布局管理、事件监听和数据绑定等基本概念也是必不可少的。...
在Android应用开发中,底部菜单栏(Bottom Navigation Bar)是一种常见的用户界面元素,它提供了一种方便用户在多个主要功能之间切换的方式。本资源聚焦于使用`TabHost`组件来实现这种底部菜单栏功能。`TabHost`是...
本文将深入探讨如何在Android中实现底部菜单栏的显示与隐藏。 首先,让我们了解底部导航菜单的基本构建。在Android中,我们通常使用`BottomNavigationView`组件来创建底部导航栏。这是一个自Android Design Support...
总结来说,"android底部菜单中间部分凸起"是通过自定义样式和选中事件监听来实现的,而"微信底部带数目显示菜单"则是通过自定义菜单项视图或者使用BadgeView来完成的。这两个特性都是为了提升用户体验,提供清晰的...
总之,“炫酷的底部菜单栏切换效果”是一个结合了Android底部菜单、自定义动画和视图交互设计的实例。开发者需要掌握Android UI组件的使用、动画系统的工作原理以及如何通过编程实现动态效果。通过深入理解这些知识...
Android 底部菜单栏美化(RadioGroup+Fragment) Android 底部菜单栏美化是 Android 应用程序中一个非常重要的组件,它提供了用户快速导航的功能,但是网上关于这方面的 demo 做得太丑了,这篇文章将会介绍如何使用...
本教程将详细讲解如何创建一个仿微信底部菜单栏,实现类似微信聊天界面底部菜单的功能,包括菜单字体的显示与隐藏、菜单项的动态缩放等效果。 一、底部菜单栏设计 底部菜单栏(Bottom Navigation Bar)通常包含3到5...
本示例中的“android底部凸起导航菜单”是利用`FrameLayout`来实现的,它具有类似`RadioGroup`的交互效果,即点击某个选项时会显示高亮状态,提供清晰的用户反馈。 `FrameLayout`是Android的一种布局容器,它允许子...