仿新闻客户端多tab展示

本文展示了如何在Android应用中创建多Tab效果,通过自定义HorizontalScrollView和MainActivity的代码实现。提供了两种不同的视觉样式,并提供了demo下载链接供开发者参考。
摘要由CSDN通过智能技术生成

一、先上效果图(两种效果图)
第一种:
这里写图片描述
第二种:
这里写图片描述
二,话不多说,直接上代码:
1、用到了自定义HorizontalScrollView,直接上代码

package com.example.myviewpagerindicator.view;

import android.app.Activity;
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.HorizontalScrollView;
import android.widget.ImageView;

public class ColumnHorizontalScrollView extends HorizontalScrollView {
   
    /** 传入整体布局  */
    private View ll_content;
    /** 传入更多栏目选择布局 */
    private View ll_more;
    /** 传入拖动栏布局 */
    private View rl_column;
    /** 左阴影图片 */
    private ImageView leftImage;
    /** 右阴影图片 */
    private ImageView rightImage;
    /** 屏幕宽度 */
    private int mScreenWitdh = 0;
    /** 父类的活动activity */
    private Activity activity;

    public ColumnHorizontalScrollView(Context context) {
        super(context);
    }

    public ColumnHorizontalScrollView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public ColumnHorizontalScrollView(Context context, AttributeSet attrs,
            int defStyle) {
        super(context, attrs, defStyle);
    }
    /** 
     * 在拖动的时候执行
     * */
    @Override
    protected void onScrollChanged(int paramInt1, int paramInt2, int paramInt3, int paramInt4) {
        // TODO Auto-generated method stub
        super.onScrollChanged(paramInt1, paramInt2, paramInt3, paramInt4);
        shade_ShowOrHide();
        if(!activity.isFinishing() && ll_content !=null && leftImage!=null && rightImage!=null && ll_more!=null && rl_column !=null){
            if(ll_content.getWidth() <= mScreenWitdh){
                leftImage.setVisibility(View.GONE);
                rightImage.setVisibility(View.GONE);
            }
        }else{
            return;
        }
        if(paramInt1 ==0){
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值