viewpager滑动fragment点击textview切换页面线条滑动效果
来源:互联网 发布:kk是什么软件 编辑:程序博客网 时间:2024/05/16 06:55
public class WeActivity extends FragmentActivity implements OnClickListener {private List<Fragment> flist = new ArrayList<Fragment>();private ViewPager tabsvp;private RedCursorView cursor;private TabAdapter adapter;private TextView tv1;private TextView tv2;private TextView tv3;private LinearLayout rel;private LinearLayout rel2;private TextView shouye;private TextView yong;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_we);cursor=(com.example.view.RedCursorView)findViewById(R.id.cursor);tabsvp=(ViewPager) findViewById(R.id.tabsvp);tv1 = (TextView) findViewById(R.id.text1);tv2 = (TextView) findViewById(R.id.text2);tv3 = (TextView) findViewById(R.id.text3);rel=(LinearLayout) findViewById(R.id.rel);rel2=(LinearLayout) findViewById(R.id.rel2);shouye=(TextView) findViewById(R.id.shouye);yong=(TextView) findViewById(R.id.yong);tv1.setOnClickListener(this);tv2.setOnClickListener(this);tv3.setOnClickListener(this);rel.setOnClickListener(this);rel2.setOnClickListener(this);shouye.setOnClickListener(this);yong.setOnClickListener(this);View v = findViewById(R.id.lin);//找到你要设透明背景的layout 的idv.getBackground().setAlpha(200);//0~255透明度值 ,0为完全tabsvp.setOnPageChangeListener(new OnPageChangeListener() {@Overridepublic void onPageSelected(int arg0) {tv1.setTextColor(Color.BLACK);tv2.setTextColor(Color.BLACK);tv3.setTextColor(Color.BLACK);switch (arg0) {case 0:tv1.setTextColor(Color.RED);break;case 1:tv2.setTextColor(Color.RED);break;case 2:tv3.setTextColor(Color.RED);break;default:break;}}public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { cursor.setXY(position, positionOffset); } @Overridepublic void onPageScrollStateChanged(int arg0) {// TODO Auto-generated method stub}});adapter=new TabAdapter(getSupportFragmentManager());tabsvp.setAdapter(adapter);}public class TabAdapter extends FragmentPagerAdapter{public TabAdapter(FragmentManager fm) {super(fm);flist.add(new Tabfragment());flist.add(new Renfragment());flist.add(new Newsfragment());}@Overridepublic Fragment getItem(int arg0) {return flist.get(arg0);}@Overridepublic int getCount() {return flist.size();}}@Overridepublic void onClick(View arg0) {switch (arg0.getId()) {case R.id.text1:tabsvp.setCurrentItem(0);break;case R.id.text2:tabsvp.setCurrentItem(1);break;case R.id.text3:tabsvp.setCurrentItem(2);break;case R.id.shouye:rel2.setVisibility(View.GONE);rel.setVisibility(View.VISIBLE);break;case R.id.yong:rel.setVisibility(View.GONE);rel2.setVisibility(View.VISIBLE);break;default:break;}}}布局文件<pre name="code" class="html"><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".WeActivity" ><LinearLayout android:id="@+id/rel" android:layout_weight="5" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <RelativeLayout android:layout_width="fill_parent" android:layout_height="50dp" android:background="#ffffff" > <ImageView android:id="@+id/sou" android:layout_width="23dp" android:layout_height="23dp" android:layout_alignParentLeft="true" android:layout_margin="12dp" android:src="@drawable/li_home_search_left_bg" /> <ImageView android:id="@+id/jiabei" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_margin="12dp" android:src="@drawable/li_icon_personal_level" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="50dp" android:layout_centerInParent="true" android:orientation="horizontal" > <TextView android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="关注" android:textSize="16sp" /> <TextView android:id="@+id/text2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginLeft="40sp" android:layout_marginRight="40sp" android:text="热门" android:textSize="16sp" /> <TextView android:id="@+id/text3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="最新" android:textSize="16sp" /> </LinearLayout> </RelativeLayout> <com.example.view.RedCursorView android:id="@+id/cursor" android:layout_width="214dp" android:layout_height="6dp" android:layout_gravity="center" android:layout_marginLeft="30sp" android:layout_marginRight="30sp" > </com.example.view.RedCursorView> <android.support.v4.view.ViewPager android:id="@+id/tabsvp" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </LinearLayout><LinearLayout android:id="@+id/rel2" android:layout_weight="5" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ImageView android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/libaozhi" /></LinearLayout> <LinearLayout android:id="@+id/lin" android:layout_width="fill_parent" android:layout_height="52dp" android:layout_gravity="center_horizontal" android:background="#e0000000" android:orientation="horizontal" > <TextView android:id="@+id/shouye" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="50dp" android:layout_weight="2" android:drawableTop="@drawable/shouye" android:gravity="center" android:text="首页" android:textColor="#ff0000" /> <ImageView android:layout_width="50dp" android:layout_height="50dp" android:src="@drawable/li_maintab_party_pic_selected" /> <TextView android:id="@+id/yong" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="50dp" android:layout_weight="2" android:drawableTop="@drawable/yong" android:gravity="center" android:text="我的" android:textColor="#ff0000" /> </LinearLayout></LinearLayout>自定义view红线
public class RedCursorView extends View { private int cursorColor = Color.RED; // 线的颜色 private int counts = 3; // 被分成了几块 private float posX = 0f; // 当前X坐标的位置 private Paint paint; public RedCursorView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(); } public RedCursorView(Context context, AttributeSet attrs) { super(context, attrs); init(); } public RedCursorView(Context context) { super(context); init(); } private void init() { // 初始化画笔 paint = new Paint(); paint.setAntiAlias(true); paint.setDither(true); paint.setColor(cursorColor); } /** * 设置ViewPager有几块 * @param counts */ public void setCounts(int counts) { this.counts = counts; } /** * 设置坐标 * @param pos 当前的item * @param rate 变化率 */ public void setXY(int pos, float rate) { int single = getMeasuredWidth() / counts; posX = pos * single + single * rate; invalidate(); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); paint.setStrokeWidth(getMeasuredHeight()); int width = getMeasuredWidth() / counts - 2; canvas.drawLine(posX, 0, posX + width, 0, paint); }}
0 0
- viewpager滑动fragment点击textview切换页面线条滑动效果
- ViewPager+Fragment实现滑动效果,并且能够点击切换
- Android ViewPager加Fragment实现滑动或者点击页面切换
- 滑动或点击按钮切换页面 ViewPager+RadioGroup+Fragment
- Viewpager+Fragment去除页面切换时的滑动翻页效果
- Viewpager和Fragment点击滑动切换
- viewpager+Fragment实现简单滑动切换效果
- ViewPager + Fragment关闭滑动切换效果
- Fragment+viewpager切换滑动页面Demo
- TabLayou+fragment+viewpager实现滑动切换页面
- Viewpager+Fragment实现左右滑动切换页面
- fragment+viewpager+tablayou实现滑动切换页面
- viewpager+fragment左右滑动切换页面
- ViewPager+Fragment 实现滑动页面的效果
- viewpager+fragment的懒加载实现微信点击和滑动切换功能(切换效果)
- Fragment点击和滑动切换页面
- ViewPager屏蔽滑动切换页面效果
- Android中Fragment点击切换与添加ViewPager滑动切换
- 单位和尺寸
- 2016年10月18日 学习总结1
- 从圆心向外流光的魔法阵shader
- 初识WEB:输入URL之后的故事【转】
- 前端工程化
- viewpager滑动fragment点击textview切换页面线条滑动效果
- Spring中控制反转最通俗理解
- Oracle 中实现随机抽取数据
- zip压缩详细分析
- 安装完office 2007后vs2012 新编译的代码不运行只运行之前的代码
- 基于块设备框架的驱动分析
- 计算轨迹相似度代码
- 垂直水平居中的方法总结和适用场景
- 【数字图像处理】[2]--直方图均衡化