-
获取屏幕宽高查看全部
-
获取屏幕宽高查看全部
-
设置layoutParams onFinishInflate()在加载完布局文件后被调用。查看全部
-
自定义ViwePagerIndicator总结查看全部
-
Android的view查看全部
-
cntr + shifr+ t 搜索查看全部
-
移动viewpager偏移设置查看全部
-
初始化画笔查看全部
-
初始化三角形查看全部
-
因为周末晚上,访问网络的人太多,网速超慢,还是明早起来早点学查看全部
-
//在此方法onSizeChanged中设置三角形的大小(适用于知道控件的的宽度,或者知道控件的高度和宽度来设置控件的宽度和高度) @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh); mTriangleWidth = (int) (w/3*RADIO_TRIANGLE_WIDTH);//三角形底边的宽度 mInitTranslationX = w/3/2 - mTriangleWidth/2;//初始偏移量位置 initTriangle(); } /** * 初始化三角形 */ private void initTriangle() { mTriangleHeight = mTriangleWidth / 2; mPath = new Path();//初始化path,通过path来构建三角形 mPath.moveTo(0,0); mPath.lineTo(mTriangleWidth, 0); mPath.lineTo(mTriangleWidth / 2, -mTriangleHeight); mPath.close(); }查看全部
-
//绘制三角形会在dispatchDraw中进行绘制 @Override protected void dispatchDraw(Canvas canvas) { canvas.save();//绘制前对画布进行保存 Log.i("mInitTranslationX", "mInitTranslationX = " + mInitTranslationX); Log.i("mInitTranslationX","getHeight = "+getHeight()); canvas.translate(mInitTranslationX + mTranslationX, getHeight() + 2);//把画布移动到绘制的位置(Layout的初始点位左上角,如果要往下绘制图案,即为高度需要增大) canvas.drawPath(mPath,mPaint);//通过路径和画笔进行绘制图形 canvas.restore();//绘制完成对画布进行还原,避免对屏幕造成影响 super.dispatchDraw(canvas); }查看全部
-
经典查看全部
-
设置当前tab颜色高亮和tab点击事件 1.思路 (1)当前tab颜色高亮 view pager滑动时从onPageSelected(position)获取当前position,从getChildAt(position)获取当前TextView,然后设置颜色 (2)tab点击事件 点击时,viewpager需要切换到当前tab所对应的fragment——mViewPager.setCurrentItem(position) 2.实现 (1)高亮当前位置的文本 private void highlightTextView(int position) { for (int i = 0; i < getChildCount(); i++) { View view = getChildAt(i); if (view instanceof TextView) { ((TextView)view).setTextColor(0xCCFFFFFF); if (i == position) { ((TextView)view).setTextColor(0xFF328C14); } }}} (2)tab点击事件 private void setItemClickEvent(){ for (int i = 0; i < getChildCount(); i++) { View view = getChildAt(i); final int finalI = i; view.setOnClickListener(new OnClickListener() { public void onClick(View v) { mViewPager.setCurrentItem(finalI); } }); } } (3)调用位置 设置高亮在onPageSelected()中调用;tab点击事件在setViewPager()结尾调用查看全部
-
设置ViewPager 1.这一小节主要是学习代码的习惯 2.现在在MainActivity中给ViewPagerIndicator设置viewpager,监听OnPageChangeListener() (1)ViewPagerIndicator中 public void setViewPager(ViewPager viewPager) { mViewPager = viewPager; mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { 重写onPageScrolled() onPageSelected() onPageScrollStateChanged() };) ); (2)MainActivity中 mIndicator.setViewPager(mViewPager); 3. 注意 这样做是不是在外面获取不到OnPageChangeListener监听了? 好办啊!只要在ViewPagerIndicator中设置写一个回调接口给外面用,在自己监听OnPageChangeListener时回调的执行函数加入接口的回调就行了,例如ViewPagerIndicator中监听发生时 public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { scroll(position, positionOffset); if (mListener != null) { mListener.onPageScrolled(position, positionOffset, positionOffsetPixels); } }查看全部
举报
0/150
提交
取消