Android中經過Java代碼實現ScrollView滾動視圖-以歌詞滾動爲例

場景

實現效果以下
android

 

 

注:編程

博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公衆號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。app

實現

將佈局改成LinearLayout,並經過android:orientation="vertical">設置爲垂直佈局,而後添加id屬性,並設置內邊距ide

<?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>

而後打開activitythis

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);
    }
}

 
相關文章
相關標籤/搜索