场景

实现效果如下

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi

关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

将布局改为LinearLayout,并通过android:orientation="vertical">设置为垂直布局,然后添加id属性,并设置内边距

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/ll1"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="16dp"
tools:context=".ScrollViewActivity"> </LinearLayout>

然后打开res下strings.xml,添加字符串资源

<resources>
<string name="app_name">RelativeLayoutTest</string>
<string name="lyric">
公众号:霸道的程序猿\n
公众号:霸道的程序猿\n
公众号:霸道的程序猿\n
公众号:霸道的程序猿\n
公众号:霸道的程序猿\n
公众号:霸道的程序猿\n
公众号:霸道的程序猿\n
在这个风起云涌的战场上\n
暴风少年登场\n
在战胜烈火重重的咆哮声\n
喧闹整个世界\n
硝烟狂飞的讯号 机甲时代正来到\n\n
热血逆流而上\n
战车在发烫 勇士也势不可挡\n
come on逆战 逆战来也 王牌要狂野\n
闯荡宇宙摆平世界\n
Oh 逆战 逆战狂野 王牌要发泄\n
战斗是我们倔强起点\n
我要操控我的权势\n
张扬我的声势\n
看这场龙战在野\n
这战场千百热血战士\n
一路向前飞驰\n
捍卫世界的勇士\n
Fighting 再一决\n
在这个风起云涌的战场上\n
暴风少年登场\n
在战胜烈火重重的咆哮声\n
喧闹整个世界\n
硝烟狂飞的讯号\n
机甲时代正来到\n
热血逆流而上\n
战车在发烫\n
勇士也势不可挡\n
come on逆战 逆战来也\n
王牌要狂野\n
闯荡宇宙摆平世界\n
Oh 逆战 逆战狂野\n
王牌要发泄\n
战斗是我们倔强起点\n
我要操控我的权势\n
张扬我的声势\n
看这场龙战在野\n
这战场千百热血战士\n
一路向前飞驰\n
捍卫世界的勇士\n
Fighting 再一决\n
兄弟一场\n
未来继续顽强\n
看着战火飘摇\n
瓦解对手力量\n
熊熊气势再出发\n
逆战 逆战来也\n
王牌要狂野\n
闯荡宇宙摆平世界\n
Oh 逆战 逆战狂野\n
王牌要发泄\n
战斗是我们倔强起点\n
我要操控我的权势\n
张扬我的声势\n
看这场龙战在野\n
这战场千百热血战士\n
一路向前飞驰\n
捍卫世界的勇士\n
Fighting 再一决\n
</string>
</resources>

然后打开activity

package com.badao.relativelayouttest;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView; public class ScrollViewActivity extends AppCompatActivity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scroll_view);
//获取LinearLayout1
LinearLayout ll1 = (LinearLayout) findViewById(R.id.ll1);
//声明LinearLayout2
LinearLayout ll2 = new LinearLayout(ScrollViewActivity.this);
//设置布局方向垂直
ll2.setOrientation(LinearLayout.VERTICAL);
//声明滚动视图
ScrollView scrollView = new ScrollView(ScrollViewActivity.this);
//将滚动视图添加到LinearLayout1
ll1.addView(scrollView);
//将LinearLayout2添加到滚动视图
scrollView.addView(ll2);
//声明ImagevView
ImageView imageView = new ImageView(ScrollViewActivity.this);
//设置照片
imageView.setImageResource(R.drawable.dog);
//将ImageView添加到LinearLayout2
ll2.addView(imageView);
//声明TextView
TextView textView = new TextView(ScrollViewActivity.this);
//设置TextView的内容
textView.setText(R.string.lyric);
//将TextView添加到LinearLayout
ll2.addView(textView);
}
}

Android中通过Java代码实现ScrollView滚动视图-以歌词滚动为例的更多相关文章

  1. android中在java代码中设置Button按钮的背景颜色

    android中在java代码中设置Button按钮的背景颜色 1.设置背景图片,图片来源于drawable: flightInfoPanel.setBackgroundDrawable(getRes ...

  2. Android中实现java与PHP服务器(基于新浪云免费云平台)http通信详解

    Android中实现java与PHP服务器(基于新浪云免费云平台)http通信详解 (本文转自: http://blog.csdn.net/yinhaide/article/details/44756 ...

  3. 在Android中用纯Java代码布局

    感谢大佬:https://www.jianshu.com/p/7aedea560f16 在Android中用纯Java代码布局 本文的完成了参考了一篇国外的教程,在此表示感谢. Android中的界面 ...

  4. Myeclipse中把java代码导成UML类图

    Myeclipse中把java代码导成UML类图 1.右键点击项目名称,选择New-------àUML2 Model 2.给类图命名 3.导成类图 1)如果要把整个项目导成类图,则把整个项目拖到类图 ...

  5. jsp页面中的java代码

    jsp页面中的java代码 1.jsp表达式  <%= ....%>  只能放置一个变量常量 2. jsp小脚本 <% .... %>  java语句,可以插入一些语句 3. ...

  6. JSP中嵌入java代码方式以及指令

    JSP中嵌入java代码的三种方式: (1)声明变量或方法 :  <%! 声明; %> :慎重使用,因为此方法定义的是全局变量 (2)java片段(scriptlet):  <% j ...

  7. MyEclipse中阿里JAVA代码规范插件(P3C)的安装及使用

    JAVA代码规范插件(P3C)是阿里巴巴2017年10月14日在杭州云栖大会上首发的,使之前的阿里巴巴JAVA开发手册正式以插件形式公开走向业界.插件的相关信息及安装包都可以在GitHub(https ...

  8. eclipse中添加Java代码注释模板

    eclipse中添加Java代码注释模板 1.Window->Preference->Java->Code Style->Code Template,进入注释编辑界面 2.文件 ...

  9. EL和 JSTL? 在JSP中简化 java代码的写法!

    一.servlet部分 package com.aaa.servlet; import com.aaa.dao.IStudentDAO; import com.aaa.dao.Impl.Student ...

随机推荐

  1. 机器学习回顾篇(15):集成学习之GDBT

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

  2. Java中的循环语句

    1.1 while 循环语句 while 语句也称为条件判断语句. 循环方式 : 利用一个条件来控制是否要反复执行这个语句. 语法 : while(条件表达式){ 执行语句 } 当条件表达式的返回值为 ...

  3. Scala 学习(6)之「对象」

    目录 object 伴生对象 继承抽象类 apply方法 main方法 用 object 来实现枚举功能 object 相当于 class 的单个实例,通常在里面放一些静态的 field 或者 met ...

  4. Zabbix添加SNMP自定义监控项OID出现“No Such Instance currently exists at this OID”

    原因:zabbix 是用snmpget来获取指定的OID数据,snmpwalk是遍历某个OID下的数据. 所以一定要用snmpget来验证某个OID是否正确. snmptranslate 获取的OID ...

  5. BERT模型总结

    BERT模型总结 前言 ​ BERT是在Google论文<BERT: Pre-training of Deep Bidirectional Transformers for Language U ...

  6. 关于STM32串口接收中断中只能接收一个字节

    最近调试STM32的串口接收时发现例程中只能接收一个字节 例程如下: //初始化串口1 void uart_init(u32 bound){ //GPIO端口设置 GPIO_InitTypeDef G ...

  7. HDFS NameNode重启优化

    http://tech.meituan.com/namenode-restart-optimization.html 一.背景 在Hadoop集群整个生命周期里,由于调整参数.Patch.升级等多种场 ...

  8. ubuntu18.04系统下无外部显示问题解决

    记录一下自己作死过程. 由于学习的需要,在windows10下装了ubuntu18.04系统,第一次装这个系统时,也出现了无外部显示,那时候是老师帮忙搞好的,当时没太在意,只是走马关花的看了老师操作了 ...

  9. 17、Wireless

    1. WLAN在物理层采用的是无线电 i.    wlan采用csma/ca代替lan的csma/cd ii.    工作在半双工模式,共享带宽(无法在发送的同时接收信号) 2. WLAN会遇到的问题 ...

  10. VS2013下搭建SDL开发环境

    什么是SDL? SDL是 "Simple DirectMedia Layer"的缩写,它是一个开源的项目. 为多媒体编程而设计 SDL是一个跨平台的多媒体库,它通过OpenGL和2 ...