android 悬浮按钮 功能实现,Android自定义悬浮按钮效果实现,带移动效果
一个带动画效果的悬浮按钮。从下往上显示,从上往下消失。
代码比较简单,实现原理也比较简单。
public class MainActivity extends Activity {
private Button btn_hide,btn_show;
private Floatingbutton floatingButton ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_hide=(Button)findViewById(R.id.btn_hide);
btn_show=(Button)findViewById(R.id.btn_show);
floatingButton = (Floatingbutton) findViewById(R.id.button_floating_action);
btn_hide.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
floatingButton.hide();
}
});
btn_show.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
floatingButton.show();
}
});
}
}
public class Floatingbutton extends ImageButton {
private Boolean isShow = false;
private static final int TRANSLATE_DURATION_MILLIS = 200;
private final Interpolator mInterpolator = new AccelerateDecelerateInterpolator();
public Floatingbutton(Context context) {
super(context);
}
public Floatingbutton(Context context, AttributeSet attrs) {
super(context, attrs);
init(context, attrs);
}
public Floatingbutton(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init(context, attrs);
}
public void init(Context context, AttributeSet attrs) {
show();
}
public void show() {
if (!isShow) {
isShow = true;
toggle();
}
}
public void hide() {
if (isShow) {
isShow = false;
toggle();
}
}
private void toggle() {
int height = getHeight();
int translationY = isShow ? 0 : height + getMarginBottom();
animate().setInterpolator(mInterpolator)
.setDuration(TRANSLATE_DURATION_MILLIS)
.translationY(translationY);
}
private int getMarginBottom() {
int marginBottom = 0;
final ViewGroup.LayoutParams layoutParams = getLayoutParams();
if (layoutParams instanceof ViewGroup.MarginLayoutParams) {
marginBottom = ((ViewGroup.MarginLayoutParams) layoutParams).bottomMargin;
}
return marginBottom;
}
}
android 悬浮按钮 功能实现,Android自定义悬浮按钮效果实现,带移动效果相关推荐
- Android Studio多功能闹钟[android源码]
Android Studio多功能闹钟[android源码] 多功能闹钟App 简 介 主 要 技 术 界面截图 主要代码 源码链接 作者信息 多功能闹钟App 简 介 此多功能闹钟界面采用TabHo ...
- android悬浮按钮功能实现,Android中实现悬浮按钮
在有些APP中我们需要实现一个悬浮按钮,比如图片浏览应用左右翻页功能,比如左侧悬浮功能按钮.我们要实现此功能时,最开始想到的就是用FrameLayout来实现,但是如果把按钮简单的放到FrameLay ...
- 如何调用android录屏功能吗,Android录屏功能的实现
最近做一个Android开发的项目用到了录屏的功能,开始查阅了一些资料和博客,基本上都是在讨论ROOT的.直到后来在github上看到一个比较新的代码,才恍然发现,Android 5.0时候开放了一个 ...
- android中拍照功能介绍,Android实现拍照功能
大家好,这是一个简单的拍照功能,很简单的界面,一个显示图像区域SurfaceView一个"拍照"按钮.直接上代码! 1.CameraDemoActivity.java(主界面) p ...
- android短信功能裁剪,Android短信发送功能实现技巧分享
如现在启动一模拟器id 号为5554,运行cmd telnet localhost 5554 输入help 可以看到很多用于模拟器中的功能命令 gsm call 134343434 // 便是呼叫 ...
- android清理缓存功能吗,Android清理缓存功能实现
我们都知道在Android的设置->应用程序中可以查看应用程序的相关信息,其中有一个功能是清除缓存.如图: 怎么实现这些功能呢,从Android的setting源码中可以得到相关信息. 实现如下 ...
- android webview缩放功能,在Android WebView中启用/禁用缩放
千万里不及你 在为客户开发Android应用程序时,我们遇到了同样的问题,我设法绕过了这一限制.我查看了WebView类的Android源代码,发现了updateZoomButtonsEnabled( ...
- android实现下载功能实现,Android开发之DownloadManager的使用
Android 开发中,经常有从服务器下载数据的需求出现,尤其是在线更新App的情形.其基本思路是根据本地的App版本号和服务器的版本号进行比较,如果服务器版本较新,再进行提示然后下载Apk最后进行安 ...
- android 收藏歌曲功能,基于android的网络音乐播放器-回调实现音乐播放及音乐收藏的实现(三)...
作为android初学者,最近把疯狂android讲义和疯狂Java讲义看了一遍,看到书中介绍的知识点非常多,很难全部记住,为了更好的掌握基础知识点,我将开发一个网络音乐播放器-EasyMusic来巩 ...
最新文章
- 两阶段提交实际项目V1
- Elon Musk的OpenAI用VR训练机器人:解锁更多复杂动作!
- 用径向函数和球谐函数计算氢原子能级并验证维里定理
- MyBatis运行原理(二)SqlSession对象创建过程分析
- 需求: 计算一下你来到这个世界多少天 拓展:改成 生日是键盘录入的 而且可以循环录入 直到录入 exit 结束循环
- c# 扩展方法奇思妙用高级篇五:ToString(string format) 扩展
- Nginx启动/重启脚本详解
- 计算机的进制数思想在哪方面有应用,计算机应用技术问答题(一)
- C# 将已有程序封装为DLL文件,供其他程序调用
- Python3.6实现付费酷狗音乐免费下载(已用tkinter封装GUI)
- matlab根据脉冲计算转速,求不规则脉冲之前的时间间隔,进而求出电机转速
- vue利用Bscroll开发一个城市列表组件,带右侧字母导航栏
- linux命令tar -xzvf等
- 干货分享|视频制作技巧-视频拍摄/视频剪辑
- 电子祝福贺卡小程序有哪些?
- 对ashx请求用Gzip,Deflated压缩
- 修改Chrome浏览器默认背景颜色为浅绿色
- 供应链金融运营研究 -----内容运营
- Riverbed:SDN向广域网扩展为企业带来哪些价值
- 5G 室内融合定位白皮书
热门文章
- Python Flask Web 第一课 —— 基本概念和程序的基本结构
- [面试] 算法(二)—— 第一个出现一次的字符(第一个出现 k 次、出现最多次)
- SQOOP --hive-import 错误(Sqoop Hive exited with status 1)及解决
- 怎么得到16位校检和-c语言,16位CRC校验C语言算法.pdf
- python培训班靠谱吗-quot;quot;经常看到的python培训机构排名靠谱嘛?应该如何选择培训机构?...
- 自学python能找到工作吗-自学 Python,我是如何找到工作的?
- 0基础学python有多难-对于几乎是零基础的人,直接学 Python 编程合适吗?
- python教程视频完整版-Python教程视频完整版
- 为何python不好找工作-Python这么火,为何有人说Python不好找工作?
- python程序员月薪-据说做Python程序员,都月薪上万?