android底部导航
1. Android底部弹窗漏出底部导航栏/未能遮挡/底部透明了/未置底的问题
xxx耀10上面...底部漏出来了。另外一个项目也是类似弹窗,但是没有这个问题。
然后对比了下这个风格文件,发现是 是否悬浮在Activity之上 的问题:
<item name="android:windowIsFloating">true</item>设置为true就行了。
不过发现一个现象就是当锁屏再打开的时候显示就又正常了...也就是在某个生命周期里面做了一些事情(具体的先不管了哈。记录下...)
使用风格文件的地方:
正在思考自己尝试封装弹窗(计划包括分享弹窗,更新弹窗,奖励弹窗等,逐步来)。这个大概是自定义View差不多了再开始尝试搞....感觉从开始学习了好久,才完成了个人计划的一小半....
2. Android底部导航栏中间凸起
这是布局:
** android:clipChildren="false"**的意思是孩子的宽高不必受父亲的约束,即可大过父布局,父亲以及父亲的父亲都必须申明才可以,中间Imageview的android:layout_gravity="bottom"表示当高度超过父布局时,底部对齐,于是就达到上图的效果。
3. Android使用fragment实现底部导航栏切换界面
源码链接
效果图
创建bottom_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<ImageView
android:layout_width="36dp"
android:layout_height="36dp"
android:id="@+id/bottom_icon"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#565656"
android:textSize="10sp"
android:id="@+id/bottom_text" />
public void setNormalImage(int normalIcon){
this.normalIcon = normalIcon;
ivIcon.setImageResource(normalIcon);
}
public void setFocusedImage(int focusedIcon){
this.focusedIcon = focusedIcon;
}
public void setTvText(String text){
tvText.setText(text);
}
public void setFocused(boolean isFocused){
this.isFocused = isFocused;
if(isFocused){
ivIcon.setImageResource(focusedIcon);
tvText.setTextColor(Color.parseColor("#02b5bc"));
}else{
ivIcon.setImageResource(normalIcon);
tvText.setTextColor(Color.BLACK);
}
}
<FrameLayout
android:id="@+id/frameLayout_container"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="11"
>
</FrameLayout>
四个如下
<com.example.qiaolulu.qiaofragment.BottomLayout
android:id="@+id/square"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1">
</com.example.qiaolulu.qiaofragment.BottomLayout>
public class Babyextends Fragment{
@Nullable
@Override
public ViewonCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//加载你设计要显示的界面
View view = inflater.inflate(R.layout.baby,null);
return view;
}
}
fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction =fragmentManager.beginTransaction();
firstPage =new FirstPage();
transaction.add(R.id.frameLayout_container,firstPage);
transaction.commit();
4. android侧拉菜单底部导航栏怎么设置
设置安卓底部导航栏分布方法:
1,打开手机设置
2.找到导航栏设置选项
3,进入后可选择不同的布局方式,也可选择将导航栏隐藏。
5. Android导航栏隐藏与浮现(二)
在 Android导航栏隐藏与浮现(一) 中已经以 Nexus5 为例, Android M 为基础介绍了怎么实现底部导航栏的隐藏与浮现,本文将介绍怎么在设置(辅助功能)中加入控制该功能的开关。
上图可以看到,应用中加入了一个 Enhance Navigation bar 的选项,该功能开启后可以长点击任务键(Recent)时,导航栏隐藏;从下不向上滑时,导航栏展示。 关闭后即取消了该功能。下面看一下整体的操作步骤:
在 Settings.apk 中修改相应的资源文件即可,修改中可以参考系统设置中的 Large text , 步骤如下:
修改 ./packages/apps/Settings/res/values-zh-rCN/strings.xml ,添加资源名称:
修改 ./packages/apps/Settings/res/values/strings.xml ,添加资源名称:
修改 ./packages/apps/Settings/res/xml/accessibility_settings.xml ,添加开关:
修改 ./frameworks/base/core/java/android/provider/Settings.java ,在内部类 Secure 中添加字段:
修改文件 ./frameworks/base/packages/SettingsProvider/res/values/defaults.xml ,添加默认开关:
修改文件 ./packages/apps/Settings/src/com/android/settings/accessibility/AccessibilitySettings.java , 修改部分基本和 Large text 的相同,diff后的试图如下,也可以根据下面提供修改前和修改后的文件,可以使用 diff 工具对比查看。
diff后的文件对比试图
AccessibilitySettings修改前 AccessibilitySettings修改后
修改 ./frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java ,添加变量:
在recent键长点击处添加开关控制:
使用 mmm 命令针对涉及的模块进行打包。
使用 make snod 命令生成 system.img 。
两次的结合完整的解决了导航栏的隐藏与浮现以及功能控制。
刷机需谨慎!刷机需谨慎!刷机需谨慎!如若刷机请提前备份数据!
6. android开发时如何去掉底部的导航栏
在一个普通类中(非继承Activity等),点击截界面上某一按钮隐藏底部导航栏(Back、Home、多任务切换),再次点击让其出现;
实现:隐藏view.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
| View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
| Utils.SYSTEM_UI_FLAG_IMMERSIVE);
显示view.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
而且加了界面touch监听,在隐藏模式下,单击屏幕不让导航栏出现;
7. Android底部中间凸起导航栏设计(简单的自定义底部导航栏)
git地址 ,如果对您有帮助,麻烦点个赞~ 谢谢~
框架设计思想
需求分析
实现思路
通过resetHeight达到底部凸起效果
外部容器封装
8. Android4.0底部导航栏最常用是什么方法实现的
一般都是使用viewpager,下面的是导航栏indicator。点击导航栏可以切换上面的页面,当然,滑动上面的页面下面的导航栏也可以切换。
接着说一下它的实现。类的代码不复杂,大部分参照了viewpagerindicator中的TabPageIndicator类来实现,不过在这里我继承的是LinearLayout
9. 超简单,几行代码搞定Android底部导航栏
咳咳,答应过年增加新功能的,没想到拖到现在,延迟了一个来月,尴尬,尴尬
那个,我们先忽略这尴尬的事情吧,进入正题才是最重要滴
老规矩,先上效果图:
跟原来的图有个很明显的区别,你们也一定都发现了,对不对。那么显眼的小红点,一定都看到了吧。
当然除了这个,还增加了一项功能,虽然不是很明显,但相信也有小伙伴发现了吧,截图的这俩手机屏幕明显大小不同,但是底部导航栏的大小还是相差不大滴。
是的,你们没有看多,这次不仅增加了小红点功能,还增加了底部导航栏的适配,你没有听错,以后底部导航栏也不用那些dp、sp了,都按照UI妹子们标注的px来就可以了,再也不用为了底部导航栏去跟UI妹子解释啥叫dp了。
好了,效果图展示完了,现在该进入枯燥的使用介绍了。
由于这次改动有点大,所以,先介绍下上个稳定版本的用法,到底是用最新的,还是用原来的,就看各位小伙伴的意愿了
上个稳定版本是1.1.3的,引用方式如下
compile 'com.hjm:BottomTabBar:1.1.3'
具体用法如下(备注都加好了,我也就不多废话了):
最新版本是1.2.2的,引用方式如下
compile 'com.hjm:BottomTabBar:1.2.2'
其实1.2.0与1.1.3区别并不大,只有4点改动:
现在默认的,分割线高度都是设置的1个像素。这里以后也固定都用这个默认的高度了,不再对外提供修改的方法。
这就是新增加的适配了,多的也不说了,你们都懂的
标准尺寸,就是UI妹子给你提供的效果图的屏幕尺寸,只要在init()方法里添加上标准尺寸,你就可以放肆的使用px了
这个方法就是控制小红点显示的方法了,index就是需要显示或者隐藏小红点的TabItem,isShow是一个boolean类型的参数,他是控制小红点是否显示的,如果为true,就会显示小红点;如果为false,就会隐藏小红点
1.2.2版本新增了两个方法
介绍到这里,超简单的底部导航栏,第二阶段就可以告一段落了。以后还会持续优化,完善的。
第三阶段我打算封装一下有中间凸起的底部导航栏,这个功能我本地已经做了,但是封装进去的时候,封装的不理想,这次就没有上线,留作下次了。
最后,再上个 GitHub 地址