直播app源码开源,Android 滚动的公告栏

直播app源码开源,Android 滚动的公告栏

 

1
public class MarqueeTextView extends LinearLayout {<br> <br>    private Context mContext;<br>    private ViewFlipper viewFlipper;<br>    private View marqueeTextView;<br>    private String[] textArrays;<br>    private MarqueeTextViewClickListener marqueeTextViewClickListener;<br> <br>    public MarqueeTextView(Context context) {<br>        super(context);<br>        mContext = context;<br>        initBasicView();<br>    }<br> <br> <br>    public MarqueeTextView(Context context, AttributeSet attrs) {<br>        super(context, attrs);<br>        mContext = context;<br>        initBasicView();<br>    }<br> <br>    public void setTextArraysAndClickListener(String[] textArrays, MarqueeTextViewClickListener marqueeTextViewClickListener) {//1.设置数据源;2.设置监听回调(将textView点击事件传递到目标界面进行操作)<br>        this.textArrays = textArrays;<br>        this.marqueeTextViewClickListener = marqueeTextViewClickListener;<br>        initMarqueeTextView(textArrays, marqueeTextViewClickListener);<br>    }<br> <br>    public void initBasicView() {//加载布局,初始化ViewFlipper组件及效果<br>        marqueeTextView = LayoutInflater.from(mContext).inflate(R.layout.marquee_textview_layout, null);<br>        LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);<br>        addView(marqueeTextView, layoutParams);<br>        viewFlipper = (ViewFlipper) marqueeTextView.findViewById(R.id.viewFlipper);<br>        viewFlipper.setInAnimation(AnimationUtils.loadAnimation(mContext, R.anim.slide_in_bottom));//设置上下的动画效果(自定义动画,所以改左右也很简单)<br>        viewFlipper.setOutAnimation(AnimationUtils.loadAnimation(mContext, R.anim.slide_out_top));<br>        viewFlipper.startFlipping();<br>    }<br> <br>    public void initMarqueeTextView(String[] textArrays, MarqueeTextViewClickListener marqueeTextViewClickListener) {<br>        if (textArrays.length == 0) {<br>            return;<br>        }<br> <br>        int i = 0;<br>        viewFlipper.removeAllViews();<br>        while (i < textArrays.length) {<br>            TextView textView = new TextView(mContext);<br>            textView.setText(textArrays[i]);<br>            textView.setOnClickListener(marqueeTextViewClickListener);<br>            LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);<br>            viewFlipper.addView(textView, lp);<br>            i++;<br>        }<br>    }<br> <br>    public void releaseResources() {<br>        if (marqueeTextView != null) {<br>            if (viewFlipper != null) {<br>                viewFlipper.stopFlipping();<br>                viewFlipper.removeAllViews();<br>                viewFlipper = null;<br>            }<br>            marqueeTextView = null;<br>        }<br>    }<br> <br>}

 

然后,主Activity异常简单(还是封装得好):

 

1
<br> <br>public class MainActivity extends AppCompatActivity {<br>    private MarqueeTextView marqueeTv;<br>    private String [] textArrays = new String[]{"this is content No.1","this is content No.2","this is content No.3"};<br> <br>    @Override<br>    protected void onCreate(Bundle savedInstanceState) {<br>        super.onCreate(savedInstanceState);<br>        setContentView(R.layout.activity_main);<br>        marqueeTv = (MarqueeTextView) findViewById(R.id.marqueeTv);<br> <br>        marqueeTv.setTextArraysAndClickListener(textArrays, new MarqueeTextViewClickListener() {<br>            @Override<br>            public void onClick(View view) {<br>                startActivity(new Intent(MainActivity.this,AnotherActivity.class));<br>            }<br>        });<br>    }<br> <br>    @Override<br>    protected void onDestroy() {<br>        marqueeTv.releaseResources();<br>        super.onDestroy();<br>    }<br>}

 

 

 以上就是 直播app源码开源,Android 滚动的公告栏,更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2022-11-09 app直播源代码,scroll-view如何自适应页面剩余高度
2022-11-09 直播系统搭建,实现页面多级来回切换支持滑动和点击操作
2022-11-09 直播平台怎么搭建,Android与Js互调之传递图片
2021-11-09 一对一视频源码,登录时输入密码时的显示密码按钮
2021-11-09 小视频源码,java使用Thumbnails压缩图片
2021-11-09 app直播源码,软件登录时的背景图更改
点击右上角即可分享
微信分享提示