一:ScrollView:滚动视图

滚动视图用于为其他组建添加滚动条,在默认的情况下,当窗体中内容比较多的时候,而且一个屏幕装不下,超出的部分不能被用户看到.因为android中布局管理器本身没有提供滚动屏幕的功能,如果想让屏幕滚动,则需要使用滚动视图.

滚动视图是FrameLayout的子类,因此,在滚动视图中,可以添加任何想要放进去的组件,但是一个滚动视图中只能放进去一个组件,如果想让放进去多个组件,可以先放一个布局,然后把想放进去的组件放入布局中,其中,应用比较广泛的是线性布局管理器。

纵向可滚动的视图(上下滑动):

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scrollbarThumbVertical="@color/colorPrimaryDark" <--滚动条的颜色
    android:scrollbarTrackVertical="@color/colorAccent"      <--滚动条区域的背景颜色
    >
    <TextView
        android:text="HelloWorld!"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</ScrollView>

横向可滚动的视图(左右滑动):

android:scrollbarThumbHorizontal=""  设置滚动条的颜色

android:scrollbarTrackHorizontal="" 设置滚动条的背景


public void scrollTo(int x,int y)

设置当前视图滚动到的位置 

        x:滚动到的x位置

        y:滚动到的y位置

例如:

    private Button btn;
    private WebView wv;
    private ImageView iv;
    private RelativeLayout rl;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn = findViewById(R.id.btn);
        rl = findViewById(R.id.rl);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                rl.scrollTo(-30,-30);

            }
        });
    }

点击按钮,然后rl的位置发生改变(一次性)

    private Button btn;
    private WebView wv;
    private ImageView iv;
    private RelativeLayout rl;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn = findViewById(R.id.btn);
        rl = findViewById(R.id.rl);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                rl.scrollBy(-30,-30);
            }
        });
    }

大家可以再试试这个,找找scrollBy与scrollTo的区别

scrollTo(x,y)是滚动到设置的位置

而scrollBy(x,y)是偏移量,每次点击都在原来的基础上再偏移

一:ScrollView:滚动视图

android资源大致分为两种:

            1.res目录下的资源:可编译的资源文件:这种资源文件会在R.java这样一个文件中自动生成资源文件的id,所以访问这种资源比较简单,可以直接通过R.id.xxx等等方式调用。注意:在res目录下有个特殊的文件夹交错raw这个文件里的资源不会被编译,但会生成id

            2.Assets文件夹下的资源文件 原始资源文件:系统在编译的时候不会编译这个文件夹下的资源。直接打包,也不会生成id,所以不能通过id进行调用

创建Assets文件夹的步骤:

android--ScrollView和Assets文件夹

1.获取Assets文件夹的管理类

AssetManager manager = getAssets();

2.遍历文件夹下的资源列表名称

String[ ] list = manager.list("文件夹名称");

3.获取Assets文件夹的绝对路径(可以直接复制使用):

file:///android_asset/

4.获取Assets文件夹下的图片

AssetManager am = getAssets();
try { for (String s : str) { Log.i("haha",s); } InputStream is = am.open("html/pic.jpg"); Bitmap bitmap = BitmapFactory.decodeStream(is); iv.setImageBitmap(bitmap);} catch (IOException e) { e.printStackTrace();}

5.获取Assets文件夹下的音频

try {
    AssetFileDescriptor adf = getAssets().openFd("Luhan.mp4");
    MediaPlayer player = new MediaPlayer();
    player.setDataSource(adf.getFileDescriptor(),adf.getStartOffset(),adf.getLength());
    player.prepare();
    player.start();
} catch (IOException e) {
    e.printStackTrace();
}

相关文章: