智慧北京:引导页面动态点的实现
来源:互联网 发布:印度历年人口数据 编辑:程序博客网 时间:2024/05/18 00:13
注意:在LayoutParams使用的参数单位是pixels,px = dp * (dpi / 160)
1、用Relativelayout覆盖
<!-- 静态点容器 --> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="40dp" > <LinearLayout android:id="@+id/guide_container_point" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" > </LinearLayout> <!-- 动态的点 --> <View android:id="@+id/guide_focus_point" android:layout_width="10dp" android:layout_height="10dp" android:background="@drawable/guide_point_focus" /> </RelativeLayout></RelativeLayout>
2、实现点的形状
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" > <solid android:color="#CCCCCC"/> <corners android:radius="5dp"/></shape>
3、实现点的移动
private ViewmFocusPoint;// 动态的点private intmPointSpace;// 两点间的距离public void initView(){……<span style="white-space:pre"></span>mFocusPoint = findViewById(R.id.guide_focus_point);mContainerPoint.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener(){@Overridepublic void onGlobalLayout(){// TODO Auto-generated method stubmContainerPoint.getViewTreeObserver().removeOnGlobalLayoutListener(this);// mPointSpace = mContainerPoint.getChildAt(1).getLeft()// - mContainerPoint.getChildAt(0).getLeft();mPointSpace = mContainerPoint.getChildAt(1).getLeft()- mContainerPoint.getChildAt(0).getLeft();}});<pre name="code" class="html">}
public void onPageScrolled(int position, float positionOffset,int positionOffsetPixels){ // 页面滚动时 // positionOffset:滑动的百分比 // positionOffsetPixels:滑动的像素 int leftMargin = (int) (mPointSpace * positionOffset + position* mPointSpace + 0.5f); RelativeLayout.LayoutParams params = (android.widget.RelativeLayout.LayoutParams) mFocusPoint.getLayoutParams(); params.leftMargin = leftMargin; mFocusPoint.setLayoutParams(params); }
0 0
- 智慧北京:引导页面动态点的实现
- 智慧北京:引导页面静态点的添加
- 智慧北京:引导页面button的切换实现
- 智慧北京:引导页面ViewPager数据的加载
- 智慧北京:引导页面数据的缓存跳转
- 智慧北京:内容页面UI的实现
- 智慧北京:内容页面tab的切换的实现
- 智慧北京:新闻list页面布局的实现
- 智慧北京:新闻list页面点的添加和文本显示
- 智慧北京:主页中内容页面和菜单页面fragment的实现
- 智慧北京:欢迎页面——进入动画效果的实现
- ViewPager实现APP的引导页面(小圆点联动)
- 智慧北京:菜单按钮点击的实现
- 智慧北京:新闻中心菜单切换的实现
- 智慧北京:ViewPager中箭头的实现
- 引导页面的实现
- 智慧北京:欢迎页面跳转
- Android引导页面的实现
- 最长上升子序列LIS
- 中东学C之路
- Codeforces #375(Div.2)C.Polycarp at the Radio【思维】
- 电子市场总结(二)
- 从尾到头打印链表
- 智慧北京:引导页面动态点的实现
- 查询索引名和字段名相同的表及查找重复索引
- spring mvc的配置
- hdu 5918 KMP
- onreadystatechange()事件
- codeforces 723D. Lakes in Berland [DFS]【】
- 102. Binary Tree Level Order Traversal(层次遍历)
- VMware Fusion 提示磁盘空间不足的解决办法
- openstack学习记要02 虚拟化技术