短视频带货源码, 文本上下滚动和图片闪烁

短视频带货源码, 文本上下滚动和图片闪烁

先创建一个text_in.xml文件,代码为以下内容:

 

1
<br><set xmlns:android="http://schemas.android.com/apk/res/android"<br>    //设置不保存播放完毕之后的画面<br>    android:fillAfter="true"<br>    //去掉好像没影响<br>    android:shareInterpolator="false"<br>    //允许在动画播放期间,调整播放内容在Z轴方向的顺序,<br>    //normal(0):正在播放的动画内容保持当前的Z轴顺序,<br>    //top(1):在动画播放期间,强制把当前播放的内容放到其他内容的上面;<br>    //bottom(-1):在动画播放期间,强制把当前播放的内容放到其他内容之下<br>    android:zAdjustment="top"><br>    <translate![在这里插入图片描述](https://img-blog.csdnimg.cn/b5f53630b6cf4c029f66446f679d4e7c.png)<br>        //动画执行时间<br>        android:duration="1000"<br>         //属性为动画起始时 Y坐标上的位置<br>        android:fromYDelta="100%p"<br>        //属性为动画结束时 Y坐标上的位置<br>        android:toYDelta="0" /><br></set>

text_out.xml代码如下:

 

1
<br><set xmlns:android="http://schemas.android.com/apk/res/android"<br>    android:fillAfter="true"<br>    android:shareInterpolator="false"<br>    android:zAdjustment="top"<br>    ><br>    <translate<br>        android:duration="1000"<br>        android:fromYDelta="0"<br>        android:toYDelta="-100%p" /><br></set> 

具体的代码:

 

1
public class Fragment_Home extends Fragment {<br>    View mView;<br>    private ImageView img;<br>    private TextSwitcher text;<br>    //设置数组<br>    private String[] mAdvertisements;<br>    //相当于代号<br>    private final int HOME_AD_RESULT = 1;<br>    //控制循环次数<br>    private int mSwitcherCount = 0;<br>    private Handler mHandler = new Handler() {<br>        @Override<br>        public void handleMessage(Message msg) {<br>            super.handleMessage(msg);<br>            switch (msg.what) {<br>                // 设置滚动数据<br>                case HOME_AD_RESULT:<br>                    //进行除余<br>                    text.setText(mAdvertisements[mSwitcherCount % mAdvertisements.length]);<br>                    mSwitcherCount++;<br>                    //指定多少毫秒后发送消息。  sendMessage :立即发送消息<br>                    mHandler.sendEmptyMessageDelayed(HOME_AD_RESULT, 3000);<br>                    break;<br>            }<br>        }<br>    };<br>    @Override<br>    public View onCreateView(LayoutInflater inflater, ViewGroup container,<br>                             Bundle savedInstanceState) {<br>        mView = inflater.inflate(R.layout.fragment__home, container, false);<br>        initView();<br>        initData();<br>        //设置图片效果<br>        initImg();<br>        return mView;<br>    }<br>    private void initImg() {<br>        //设置透明度从0-1<br>        AlphaAnimation alphaAnimation1 = new AlphaAnimation(0.0f, 1.0f);<br>        //设置多少秒执行一次<br>        alphaAnimation1.setDuration(1000);<br>        //设置闪烁的次数(INFINITE为无数次)<br>        alphaAnimation1.setRepeatCount(Animation.INFINITE);<br>        //动画结束后从头开始或从末尾开始<br>        // Animation.REVERSE(从末尾开始) Animation.RESTART(从头开始)<br>        alphaAnimation1.setRepeatMode(Animation.RESTART);<br>        //将动画设置在View上<br>        img.setAnimation(alphaAnimation1);<br>        //启动<br>        alphaAnimation1.start();<br>    }<br>    private void initData() {<br>        // 指 定 TextSwitcher 的 ViewFactory。<br>        text.setFactory(() -> {<br>            TextView tv = new TextView(getContext());<br>            //设置字体颜色<br>            tv.setTextColor(getResources().getColor(R.color.black));<br>            return tv;<br>        });<br>        //设置text的进场和出场动画<br>        text.setInAnimation(getContext(), R.anim.text_in);<br>        text.setOutAnimation(getContext(), R.anim.text_out);<br>        //设置滚动的数据<br>        mAdvertisements = new String[]{"第一次循环......", "第二次循环......", "第三次循环......", "第四次循环......",};<br>        //发送信息并启动Handler<br>        mHandler.sendEmptyMessage(HOME_AD_RESULT);<br>    }<br>    private void initView() {<br>        img = mView.findViewById(R.id.home_img);<br>        text = mView.findViewById(R.id.home_text);<br>    }<br>}

XML如下:

 

1
<br><LinearLayout<br>    xmlns:android="http://schemas.android.com/apk/res/android"<br>    xmlns:tools="http://schemas.android.com/tools"<br>    android:layout_width="match_parent"<br>    android:layout_height="wrap_content"<br>    android:orientation="horizontal"<br>    tools:context=".home.Fragment_Home"><br>    <ImageView<br>        android:id="@+id/home_img"<br>        android:layout_width="30dp"<br>        android:layout_height="30dp"<br>        android:src="@drawable/welcome" /><br>    <TextSwitcher<br>        android:id="@+id/home_text"<br>        android:layout_width="wrap_content"<br>        android:layout_height="wrap_content"<br>        android:layout_marginLeft="30dp"<br>        android:textSize="12sp" /><br></LinearLayout>

以上就是 短视频带货源码, 文本上下滚动和图片闪烁,更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(117)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示