精华内容
下载资源
问答
  • jQuery新闻滚动播报插件BreakingNews是一款适合做新闻滚动显示以及公告轮播特效代码
  • 新闻滚动效果的代码

    2019-10-03 03:24:42
    一直在想网页上面的那种新闻滚动效果是怎么做出来的,显示固定的字倒是好做,就是知道怎么显示数据库里读出来的值~ 到现在才发现,原来要显示的内容可以是Label,甚至是DataList也可以,这样在代码里面可以绑定...

    一直在想网页上面的那种新闻滚动效果是怎么做出来的,显示固定的字倒是好做,就是知道怎么显示数据库里读出来的值~
    到现在才发现,原来要显示的内容可以是Label,甚至是DataList也可以,这样在代码里面可以绑定DataList或Label就可以了,没想到这么麻烦~
    类似的 主页上面的图片滚动应该可以用相似的方法做~

    代码如下:   

    <marquee   id="scrollArea"   οnmοuseοver="scrollArea.stop()"   οnmοuseοut="scrollArea.start()"scrollAmount="2"   
                                                                    scrollDelay="0"   direction="up"   width="200px"   height="100">

            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

        </marquee>

    红色部分可以放 DataList等控件,如果想左右滚动,把direction="up" 改为 left 即可

    转载于:https://www.cnblogs.com/yeyangcn/archive/2007/09/03/880437.html

    展开全文
  • 一个基于ASP.Net and C#是实现的Scrolling News 动态新闻消息滚动显示控件代码
  • jQuery新闻图片上下滚动切换代码,带上下小箭头按钮,支持标题,图文并茂显示
  • 横向新闻滚动跑马灯效果代码基于jQuery实现的横向跑马灯式新闻滚动特效源码,是一段可以实现新闻列表横向滚动显示的跑马灯式效果代码,多用于首页公告展示,需要此款代码的朋友们可以前来下载使用。兼容目前最新的...
  • 网上下载了一个Jquery新闻滚动Demo,效果不错。我根据自己情况,做了些调整。  下载后,除了Html及Jquery.js,还有三个文件,分别是Css,主Js和一个定位Js(jquery.dimensions.js),Css文件完全可以通过动态赋值实现...
  • 支持快进、暂停等手动控制的新闻标题滚动切换代码,上下滚动显示,一条一条循环显示,滚动过程中,可通过控制按钮控制切换的暂停和继续,可直接切换至下一条。
  • 用flash实现读取新闻连接的代码,方便一个50高度的地方显示外部连接,不错的黑色效果index.html 代码如下:<html> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=gb2312...
  • 有时为了充分利用网页的空间、有效地增加网页的内容而会采用文字滚动的效果,可以把新闻、最新文章、或者推荐到首页的文章等在较小的空间里显示,下面是我收集的几种文字滚动代码组件,都有对应的DEMO,大家可以参考...

          有时为了充分利用网页的空间、有效地增加网页的内容而会采用文字滚动的效果,可以把新闻、最新文章、或者推荐到首页的文章等在较小的空间里显示,下面是我收集的几种文字滚动代码组件,都有对应的DEMO,大家可以参考一下。

     

          第一种,jquery组件

          大品牌,有保证。可以设置每次循环滚动的行数、速度、间隔时间等

     

          第二种,ScrollText.js

          JS无间隔滚动代码,感觉还可以,可以设置每次循环滚动的行数、间隔时间、方向等

     

          第三种,scroller

          老外的东西,可以设置新闻框的border,width,height,padding,x,y

    展开全文
  • jQuery新闻滚动播报插件BreakingNews是一款适合做新闻滚动显示以及公告轮播特效代码
  • 关键字描述: 发布文章的时候,复选框里有个“滚动”可首页并没有滚动模块啊,css里也没看见啊,请问如何设置呢? 下面是官方的css,首页.../*-------------------------首页:中侧:滚动新闻*/ .topline .scrollnews{
  • 新闻列表的滚动循环播放html代码CSS代码Script代码总结 题目要求: 要求实现以下页面,其中列表项是滚动循环播放的,而且每次只显示3个,当鼠标经过的时候停止播放,鼠标离开继续播放 const NOTICE_LIST = [ '恭喜...

    新闻列表的滚动循环播放


    题目要求:
    要求实现以下页面,其中列表项是滚动循环播放的,而且每次只显示3个,当鼠标经过的时候停止播放,鼠标离开继续播放

    const NOTICE_LIST = [
          '恭喜罗X获得特等奖 别墅一套',
          '恭喜张4获得一等奖 跑车一辆',
          '恭喜张5获得二等奖 华为手机一部',
          '恭喜张6获得二等奖 华为手机一部',
          '恭喜张7获得三等奖 小米手机一部',
          '恭喜张8获得三等奖 小米手机一部',
          '恭喜张9获得三等奖 小米手机一部',
        ]
    

    在这里插入图片描述

    html代码

    <!-- 外部盒子 -->
      <div class="container">
        <!-- 标题盒子 -->
        <div class="title">
          <div class="tborder"></div>
          <h3>最近通知</h3>
        </div>
        <!-- 通知盒子 -->
        <div class="notice">
          <ul id="con1">
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
          </ul>
          <ul id="con2"></ul>
        </div>
      </div>
    

    CSS代码

      <style>
        * {
          padding: 0;
          margin: 0;
        }
    
        .container {
          width: 300px;
        }
    
        .title {
          border-bottom: 1px solid #ccc;
          height: 50px;
          line-height: 50px;
        }
    
        .title .tborder {
          width: 10px;
          height: 40px;
          margin-right: 20px;
          margin-top: 5px;
          background-color: orange;
          float: left;
        }
    
        h3 {
          float: left;
        }
    
        li {
          list-style: none;
        }
    
         /* 这里盒子的高度是只需要容纳3个长度即可 */
        .notice {
          margin: 20px;
          height: 120px;
          overflow: hidden;
    
        }
    
        ul li {
          padding: 10px;
        }
    
        #con1 {
          overflow: hidden;
        }
      </style>
    

    Script代码

    <script>
        const NOTICE_LIST = [
          '恭喜罗X获得特等奖 别墅一套',
          '恭喜张4获得一等奖 跑车一辆',
          '恭喜张5获得二等奖 华为手机一部',
          '恭喜张6获得二等奖 华为手机一部',
          '恭喜张7获得三等奖 小米手机一部',
          '恭喜张8获得三等奖 小米手机一部',
          '恭喜张9获得三等奖 小米手机一部',
        ]
        //获取数据源
        var notice = document.querySelector('.notice')
    
        var ul = notice.querySelector('ul')
    
        var lis = ul.querySelectorAll('li')
    
        //循环遍历
        for (var i = 0; i < lis.length; i++) {
          lis[i].innerHTML = NOTICE_LIST[i]
        }
    
        var box = document.querySelector('.notice')
        var con1 = document.getElementById("con1")
        var con2 = document.getElementById("con2")
        con2.innerHTML = con1.innerHTML
        //先进行滚动视图
        function ScrollUp() {
          // 当第一个完全被卷上去之后 将他的被卷上去的高度重新置0 重头开始
          if (box.scrollTop >= con1.scrollHeight) {
             box.scrollTop = 0;
          } else
            box.scrollTop++;
          // console.log(box.scrollTop);
        }
        var i = setInterval("ScrollUp()", 50);
    
    	// 鼠标经过 停止播放
        con1.onmouseover = function () {
          clearInterval(i)
        }
        // 鼠标离开 继续播放
        con1.onmouseout = function () {
          i = setInterval("ScrollUp()", 50);
        }
    
    
      </script>
    

    总结

    实现的思路大体如下
    (1)首先需要在列表外套一个盒子,盒子的高度是只需要那几行的高度(可以在chorm中调试),然后使用overflow为hidden将剩余的隐藏起来
    (2)接着创建一个在原有的ul下面创建一个新的ul 内容为空
    (3)编写script代码

    • 使用定时器
    • 获取数据源
    • 将旧的ul的内容完全复制给新的ul
    • 使用 box.scrollTop 进行移动,当移动到大于第一个ul的scrollHeight的,即说明第一个已经完全滚动上去了,这个时候需要将 box.scrollTop 置0
    • 给鼠标经过和离开注册事件
    展开全文
  • android高仿京东快报(垂直循环滚动新闻栏)

    万次阅读 热门讨论 2016-03-20 03:08:55
    京东的垂直滚动新闻栏的实现原理: 就是一个自定义的LinearLayout,并且textView能够循环垂直滚动,而且条目可以点击,显示区域最多显示2个条目,并且还有交替的属性垂直移动的动画效果,通过线程来控制滚动的实现...

    京东的垂直滚动新闻栏的实现原理:

    就是一个自定义的LinearLayout,并且textView能够循环垂直滚动,而且条目可以点击,显示区域最多显示2个条目,并且还有交替的属性垂直移动的动画效果,通过线程来控制滚动的实现。

    不多说看效果:
    jd

    代码实现

    我们先来为控件设置自定义属性:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <declare-styleable name="JDAdverView">
            <attr name="gap" format="integer" />
            <attr name="animDuration" format="integer"/>
        </declare-styleable>
    </resources>

    自定义控件的获取属性方法都一样:

       //获取自定义属性
            TypedArray array = context.obtainStyledAttributes(attrs, R.styleable.JDAdverView);
            mAdverHeight = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, jdAdverHeight, getResources().getDisplayMetrics());
            int gap = array.getInteger(R.styleable.JDAdverView_gap, mGap);
            int animDuration = array.getInteger(R.styleable.JDAdverView_animDuration, mAnimDuration);
              //关闭清空TypedArray,防止内存泄露
            array.recycle();

    然后呢,我们来看一下条目的布局:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:background="#ffffff"
        android:gravity="center_vertical"
        android:orientation="horizontal">
        <TextView
            android:id="@+id/tag"
            android:textColor="#ff0000"
            android:layout_marginLeft="10dp"
            android:text="最新"
            android:background="@drawable/corner"
            android:textSize="18sp"
            android:padding="5dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <TextView
            android:id="@+id/title"
            android:layout_marginLeft="10dp"
            android:singleLine="true"
            android:ellipsize="end"
            android:textSize="20sp"
            android:text="价格惊呆!电信千兆光纤上市"
            android:textColor="#000000"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    </LinearLayout>

    布局很简单,效果呢:
    这里写图片描述
    不解释,我们来写适配器了:

    package com.example.jdadvernotice;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.widget.TextView;
    import android.widget.Toast;
    import com.example.jdadvernotice.entity.AdverNotice;
    import com.example.jdadvernotice.view.JDAdverView;
    import java.util.List;
    /**
     * Created by Administrator on 2016/3/20.
     * 京东广告栏数据适配器
     *
     */
    
    public class JDViewAdapter {
        private List<AdverNotice> mDatas;
        public JDViewAdapter(List<AdverNotice> mDatas) {
            this.mDatas = mDatas;
            if (mDatas == null || mDatas.isEmpty()) {
                throw new RuntimeException("nothing to show");
            }
        }
        /**
         * 获取数据的条数
         * @return
         */
        public int getCount() {
            return mDatas == null ? 0 : mDatas.size();
        }
    
        /**
         * 获取摸个数据
         * @param position
         * @return
         */
        public AdverNotice getItem(int position) {
            return mDatas.get(position);
        }
        /**
         * 获取条目布局
         * @param parent
         * @return
         */
        public View getView(JDAdverView parent) {
            return LayoutInflater.from(parent.getContext()).inflate(R.layout.item, null);
        }
    
        /**
         * 条目数据适配
         * @param view
         * @param data
         */
        public void setItem(final View view, final AdverNotice data) {
            TextView tv = (TextView) view.findViewById(R.id.title);
            tv.setText(data.title);
            TextView tag = (TextView) view.findViewById(R.id.tag);
            tag.setText(data.url);
            //你可以增加点击事件
            view.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    //比如打开url
                    Toast.makeText(view.getContext(), data.url, Toast.LENGTH_SHORT).show();
                }
            });
        }
    }

    然后我们就来自定义view:

    package com.example.jdadvernotice.view;
    import android.animation.Animator;
    import android.animation.AnimatorListenerAdapter;
    import android.animation.AnimatorSet;
    import android.animation.ObjectAnimator;
    import android.content.Context;
    import android.content.res.Configuration;
    import android.content.res.TypedArray;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.util.AttributeSet;
    import android.util.TypedValue;
    import android.view.View;
    import android.widget.LinearLayout;
    import com.example.jdadvernotice.JDViewAdapter;
    import com.example.jdadvernotice.R;
    /**
     * Created by zengyu on 2016/3/20.
     */
    public class JDAdverView extends LinearLayout {
        //控件高度
        private float mAdverHeight = 0f;
        //间隔时间
        private final int mGap = 4000;
        //动画间隔时间
        private final int mAnimDuration = 1000;
        //显示文字的尺寸
        private final float TEXTSIZE = 20f;
        private JDViewAdapter mAdapter;
        private final float jdAdverHeight = 50;
        //显示的view
        private View mFirstView;
        private View mSecondView;
        //播放的下标
        private int mPosition;
        //线程的标识
        private boolean isStarted;
        //画笔
        private Paint mPaint;
    
        public JDAdverView(Context context) {
            this(context, null);
        }
    
        public JDAdverView(Context context, AttributeSet attrs) {
            this(context, attrs, 0);
        }
    
        public JDAdverView(Context context, AttributeSet attrs, int defStyleAttr) {
            super(context, attrs, defStyleAttr);
            init(context, attrs, defStyleAttr);
        }
    
        /**
         * 初始化属性
         * @param context
         * @param attrs
         * @param defStyleAttr
         */
        private void init(Context context, AttributeSet attrs, int defStyleAttr) {
            //设置为垂直方向
            setOrientation(VERTICAL);
            //抗锯齿效果
            mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
            //获取自定义属性
            TypedArray array = context.obtainStyledAttributes(attrs, R.styleable.JDAdverView);
            mAdverHeight = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, jdAdverHeight, getResources().getDisplayMetrics());
            int gap = array.getInteger(R.styleable.JDAdverView_gap, mGap);
            int animDuration = array.getInteger(R.styleable.JDAdverView_animDuration, mAnimDuration);
    
            if (mGap <= mAnimDuration) {
                gap = mGap;
                animDuration = mAnimDuration;
            }
            //关闭清空TypedArray
            array.recycle();
        }
    
        /**
         * 设置数据
         */
        public void setAdapter(JDViewAdapter adapter) {
            this.mAdapter = adapter;
            setupAdapter();
        }
    
        /**
         * 开启线程
         */
        public void start() {
    
            if (!isStarted && mAdapter.getCount() > 1) {
                isStarted = true;
                postDelayed(mRunnable, mGap);//间隔mgap刷新一次UI
            }
        }
    
        /**
         * 暂停滚动
         */
        public void stop() {
            //移除handle更新
            removeCallbacks(mRunnable);
            //暂停线程
            isStarted = false;
        }
        /**
         * 设置数据适配
         */
        private void setupAdapter() {
            //移除所有view
            removeAllViews();
            //只有一条数据,不滚东
            if (mAdapter.getCount() == 1) {
                mFirstView = mAdapter.getView(this);
                mAdapter.setItem(mFirstView, mAdapter.getItem(0));
                addView(mFirstView);
            } else {
                //多个数据
                mFirstView = mAdapter.getView(this);
                mSecondView = mAdapter.getView(this);
                mAdapter.setItem(mFirstView, mAdapter.getItem(0));
                mAdapter.setItem(mSecondView, mAdapter.getItem(1));
                //把2个添加到此控件里
                addView(mFirstView);
                addView(mSecondView);
                mPosition = 1;
                isStarted = false;
            }
        }
        /**
         * 测量控件的宽高
         *
         * @param widthMeasureSpec
         * @param heightMeasureSpec
         */
        @Override
        protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
            super.onMeasure(widthMeasureSpec, heightMeasureSpec);
            if (LayoutParams.WRAP_CONTENT == getLayoutParams().height) {
                getLayoutParams().height = (int) mAdverHeight;
            } else {
                mAdverHeight = getHeight();
            }
    
            if (mFirstView != null) {
                mFirstView.getLayoutParams().height = (int) mAdverHeight;
            }
            if (mSecondView != null) {
                mSecondView.getLayoutParams().height = (int) mAdverHeight;
            }
        }
    
        /**
         * 画布局
         *
         * @param canvas
         */
        @Override
        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);
            mPaint.setColor(Color.WHITE);
    mPaint.setTextSize(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, TEXTSIZE, getResources().getDisplayMetrics()));
            mPaint.setStyle(Paint.Style.STROKE);
            canvas.drawText("瑞士维氏军刀", TEXTSIZE, getHeight() * 2 / 3, mPaint);//写文字2/3的高度
        }
        /**
         * 垂直滚蛋
         */
        private void performSwitch() {
            //属性动画控制控件滚动,y轴方向移动
            ObjectAnimator animator1 = ObjectAnimator.ofFloat(mFirstView, "translationY", mFirstView.getTranslationY() - mAdverHeight);
            ObjectAnimator animator2 = ObjectAnimator.ofFloat(mSecondView, "translationY", mSecondView.getTranslationY() - mAdverHeight);
            //动画集
            AnimatorSet set = new AnimatorSet();
            set.playTogether(animator1, animator2);//2个动画一起
            set.addListener(new AnimatorListenerAdapter() {
                @Override
                public void onAnimationEnd(Animator animation) {//动画结束
                    mFirstView.setTranslationY(0);
                    mSecondView.setTranslationY(0);
                    View removedView = getChildAt(0);//获得第一个子布局
                    mPosition++;
                    //设置显示的布局
                    mAdapter.setItem(removedView, mAdapter.getItem(mPosition % mAdapter.getCount()));
                    //移除前一个view
                    removeView(removedView);
                    //添加下一个view
                    addView(removedView, 1);
                }
            });
            set.setDuration(mAnimDuration);//持续时间
            set.start();//开启动画
        }
        private AnimRunnable mRunnable = new AnimRunnable();
        private class AnimRunnable implements Runnable {
            @Override
            public void run() {
                performSwitch();
                postDelayed(this, mGap);
            }
        }
    
        /**
         * 销毁View的时候调用
         */
        @Override
        protected void onDetachedFromWindow() {
            super.onDetachedFromWindow();
            //停止滚动
            stop();
        }
        /**
         * 屏幕 旋转
         *
         * @param newConfig
         */
        @Override
        protected void onConfigurationChanged(Configuration newConfig) {
            super.onConfigurationChanged(newConfig);
        }
    }

    从上面可以看出,控件最多可以显示2个条目,并且用线程控制,根据条目的下标轮流滚动显示。

    具体使用代码:

    初始化数据:

    private void initData() {
            datas.add(new AdverNotice("瑞士维氏军刀 新品满200-50","最新"));
            datas.add(new AdverNotice("家居家装焕新季,讲199减100!","最火爆"));
            datas.add(new AdverNotice("带上相机去春游,尼康低至477","HOT"));
            datas.add(new AdverNotice("价格惊呆!电信千兆光纤上市","new"));
        }

    绑定适配器开启滚动线程:

            initData();
            final JDViewAdapter adapter = new JDViewAdapter(datas);
            final JDAdverView tbView = (JDAdverView) findViewById(R.id.jdadver);
            tbView.setAdapter(adapter);
            //开启线程滚东
            tbView.start();

    就写到这里吧,很晚了睡觉,欢迎大家前来拍砖。
    自定义JDViewdemo传送门
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    新加ViewFlipper实现京东快报

    看了大家的评论,然后觉得又学到了新的知识,这里就用ViewFlipper来实现这个功能,哈哈,果断很简单。

    来看下简单的代码:

        <ViewFlipper
            android:id="@+id/flipper"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:autoStart="true"
            android:flipInterval="900"
            android:inAnimation="@anim/push_up_in"
            android:outAnimation="@anim/push_up_out" >
            <include layout="@layout/news_one" />
            <include layout="@layout/news_two" />
            <include layout="@layout/news_three" />
            <include layout="@layout/news_four"/>
        </ViewFlipper>

    是不是很简单利用autoStart 就不需要开线程了,flipInterval设置滚动的时间,inAnimation和outAnimation使用切入切出动画。
    传送门:JDViewFlipper.rar

    新加TextSwitcher实现京东快报

    这也是第一使用TextSwitcher,再次感谢大家的帮助让我学到了新的东西。

    TextSwitcher集成了ViewSwitcher, 因此它具有与ViewSwitcher相同的特性:可以在切换View组件时使用动画效果。与ImageSwitcher相似的是,使用TextSwitcher也需要设置一个ViewFactory。与ImageSwitcher不同的是,TextSwitcher所需要的ViewFactory的makeView()方法必须返回一个TextView组件。

    TextSwitcher与TextView的功能有点类似,它们都可用于显示文本内容,区别在于TextSwitcher的效果更炫,它可以指定文本切换时的动画效果。现在控件的效果还是不错的,inAnimation和outAnimation可以直接设置滚动动画。

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout 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:background="#ffffff"
        android:orientation="vertical"
        tools:context=".MainActivity">
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="60dp"
            android:layout_centerInParent="true"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:background="@drawable/bg"
            android:gravity="center_vertical"
            android:orientation="horizontal"
            >
    
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="5dp"
                android:text="京东"
                android:textSize="16sp"
                android:textStyle="bold" />
    
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="#ff0000"
                android:padding="5dp"
                android:paddingLeft="5dp"
                android:text="快报"
                android:textColor="#ffffff"
                android:textSize="16sp"
                android:textStyle="bold" />
    
            <View
                android:layout_width="1dp"
                android:layout_height="50dp"
                android:layout_marginLeft="5dp"
                android:layout_marginRight="5dp"
                android:background="#e0e0e0" />
            <!-- flipInterval可能是一次切换的时间 -->
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="50dp"
                android:gravity="center_vertical"
                android:layout_gravity="center_vertical"
                android:orientation="horizontal">
                   <TextSwitcher
                    android:id="@+id/textSwitcher_tag"
                    android:layout_width="match_parent"
                    android:layout_height="50dp"
                    android:layout_weight="3"
                    android:padding="0dp"
                    android:gravity="center_vertical"
                    android:layout_gravity="center_vertical"
                    android:inAnimation="@anim/push_up_in"
                    android:outAnimation="@anim/push_up_out">  
                    </TextSwitcher>
                    <TextSwitcher
                    android:id="@+id/textSwitcher_title"
                    android:layout_width="match_parent"
                    android:layout_height="50dp"
                    android:layout_weight="1"
                    android:padding="0dp"
                    android:gravity="center_vertical"
                    android:layout_gravity="center_vertical"
                    android:inAnimation="@anim/push_up_in"
                    android:outAnimation="@anim/push_up_out">    
                    </TextSwitcher>
            </LinearLayout>
        </LinearLayout>
    </RelativeLayout>

    布局也就是这么简单,然后呢为TextSwitcher设置ViewFactory,该TextSwitcher即可正常工作。唯一不足的是

    textSwitcher.setFactory(new ViewFactory() {
    
          @Override
          public View makeView() {
            TextView tv = new TextView(context);
             ......
            return tv;
          }
        });

    只能返回textView不能加载自己想要的控件。然后需要使用线程来滚动textSwitcher实现你想要的功能。
    下面看具体代码:

    package com.losileeya.jdtextswitcher;
    import android.graphics.Color;
    import android.os.Bundle;
    import android.os.Handler;
    import android.support.v7.app.AppCompatActivity;
    import android.util.TypedValue;
    import android.view.View;
    import android.widget.TextSwitcher;
    import android.widget.TextView;
    import android.widget.ViewSwitcher;
    public class MainActivity extends AppCompatActivity {
        private TextSwitcher textSwitcher_tag,textSwitcher_title;
        // 要显示的文本
        String[] tags = new String[]
                {
                        "最新",
                        "最火爆",
                        "HOT",
                        "new"
                };
        // 要显示的文本
        String[] titles = new String[]
                {
                        "瑞士维氏军刀 新品满200-50",
                        "家居家装焕新季,讲199减100!",
                        "带上相机去春游,尼康低至477",
                        "价格惊呆!电信千兆光纤上市"
                };
        private int curStr;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            textSwitcher_tag= (TextSwitcher) findViewById(R.id.textSwitcher_tag);
            textSwitcher_title= (TextSwitcher) findViewById(R.id.textSwitcher_title);
            textSwitcher_title.setFactory(new ViewSwitcher.ViewFactory() {
                @Override
                public View makeView() {
                    final TextView tv = new   
                    TextView(MainActivity.this);
                    tv.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14);
                    tv.setPadding(20, 20, 20, 20);
                    return tv;
                }
            });
            textSwitcher_tag.setFactory(new ViewSwitcher.ViewFactory() {
                @Override
                public View makeView() {
                    final TextView tv = new  
                    TextView(MainActivity.this);
                    tv.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18);
                    tv.setPadding(30, 20, 20,20);
                    tv.setTextColor(Color.RED);
                   tv.setBackgroundResource(R.drawable.corner);
                    return tv;
                }
            });
            final Handler handler = new Handler();
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    textSwitcher_tag.setText(tags[curStr++ %    
                    tags.length]);
                    textSwitcher_title.setText(titles[curStr++   
                    % titles.length]);
                    handler.postDelayed(this, 1000);
                }
            }, 1000);
        }
    }

    所有的代码就搞完了,哈哈,这里再次谢谢大家。
    传送门:JDTextSwitcher.rar

    展开全文
  • 实现思路其实很简单,就是一个自定义的LinearLayout,并且textView能够循环垂直滚动,而且条目可以点击,显示区域最多显示2个条目,并且还有交替的属性垂直移动的动画效果,通过线程来控制滚动的实现。 不多说看...
  • 在网上看到许多的jquery插件实现滚动新闻,特别是新闻显示在div里面的,比较了一番发现这款jquery.vticker-min.js还是挺不错的,于是就将它集成到我的毕业设计里面。呵呵,效果图如下: ps:gif做的不是很好,大家...
  • 本文实例讲述了基于JQuery打造无缝滚动新闻的方法。分享给大家供大家参考,具体如下: 首先,我们这里有这么一段html代码,很简洁,如下所示: 你说我是好人吗,我是好人啊 哈哈,我真的不知道说什么了 生活就是...
  • 新闻广告图片滚动展示

    千次阅读 2010-12-27 15:20:00
    显示多个图片,横行滚动  JS代码如下:  <mce:script type="text/javascript"><!-- //offsetWidth 对象的可见宽度,包滚动条等边线,会随窗口的显示大小改变 //scrollLeft:设置或获取位于对象左边界...
  • 滚动新闻的实现

    2010-05-27 17:07:00
    要实现滚动功能通常是用脚本代码编写而成的,很繁琐!这里给大家介绍用web控件实现其功能!实现这个功能的前提是要设计一个主从详细显示的数据库,为方便操作,我在系统给的NorthWind数据库中加入了两个表,这两个表...
  • XYZ新闻发布源代码

    2010-04-11 16:51:42
    3、通过管理界面可以对新闻白板进行如一系列如是否允许非管理员发送消息配置、IP限制、在页面上显示消息的数目、修改密码等。 4、新闻系统对消息是先进先出滚动放送的,过时的消息放在另一个文件中,可以使用附上的...
  • JS新闻公告文字逐条向上翻滚代码 可以设置滚动速度 每次滚动几条和每行显示几条
  • 我们这段时间学了很多组件的用法,以及这些组件的属性和属性的合法值,图片、文字、块,还了解了不少的样式代码和小程序的基本知识。我们今天来讲一个可滚动的视图区域组件。可滚动的视图区域组件是什么?简单来说,...
  • <div><p>日志有打印,但是不会自动滚动到评论的地方,下面是代码,这个回调是WebView的: mWebView.setWebViewClient(new WebViewClient() {<!-- --> <pre><code> public boolean shouldOverrideUrlLoading(WebView ...
  • 一个可视的Rectangle设置其高度等于ListView的item的高度,这样保证显示一个。 通过移动ListView的x值得位置实现向上滚动的效果。利用动画修改x的值,达到动态效果。 效果如下: 截图效果不好哈 具体代码如下 用...
  • 滚动文字新闻的制作

    2008-08-28 14:41:00
    将下面的代码复制到<body>~</body>里 <script language=JavaScript1.2> //设置下面的参数(宽度,高度和背景色)可以得到不同的显示效果; var scrollerwidth=500 var scrolle...
  • 把下面的代码贴在后台管理->选项-->配置-->静态新闻/声明处即可: google_ad_client = "pub-1532304264889134";google_ad_width = 180;google_ad_height = 150;google_ad_format = "180x150_as";google_ad_channel =...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 257
精华内容 102
关键字:

新闻滚动显示代码