zoukankan      html  css  js  c++  java
  • HorizontalScrollView_应用举例

    main.java

    package com.demo.scrollview;

    import android.app.Activity;
    import android.os.Bundle;
    import android.os.Handler;
    import android.view.View;
    import android.widget.Button;
    import android.widget.HorizontalScrollView;
    import android.widget.LinearLayout;
    import android.widget.ScrollView;
    import android.widget.TextView;

    public class main extends Activity {
    /** Called when the activity is first created. */
    private LinearLayout mLayout;
    private HorizontalScrollView sView;
    private final Handler mHandler = new Handler();

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.horizontalscroll);
    // 创建一个线性布局
    mLayout = (LinearLayout) this.findViewById(R.id.LinearLayout);
    // 创建一个ScrollView对象
    sView = (HorizontalScrollView) this.findViewById(R.id.ScrollView);
    Button mBtn = (Button) this.findViewById(R.id.Button);
    mBtn.setOnClickListener(mClickListener);// 添加点击事件监听
    }

    // Button事件监听,当点击第一个按钮时增加一个button和一个textview
    private Button.OnClickListener mClickListener = new Button.OnClickListener() {

    @Override
    public void onClick(View v) {
    TextView tView = new TextView(main.this);// 定义一个TextView
    tView.setText("ScrollView也是一个Layout布局,可以让它内部的数据显示不下的时候出现垂直滚动条,要注意的是不能在ScrollView中放多个组件");// 设置TextView的文本信息

    // 设置线性布局的属性
    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
    LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.FILL_PARENT

    );
    mLayout.addView(tView, params);// 添加一个TextView控件
    mHandler.post(mScrollToButton);//传递一个消息进行滚动
    }

    };
    private Runnable mScrollToButton = new Runnable() {

    @Override
    public void run() {
    int off = mLayout.getMeasuredWidth() - sView.getWidth();
    if (off > 0) {
    sView.scrollTo( off,0);// 改变滚动条的位置
    }
    }

    };

    }

    HorizontalScrollView.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/main" android:orientation="vertical"
    android:layout_width="fill_parent" android:layout_height="wrap_content">

    <Button android:id="@+id/Button" android:text="Button0"
    android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>

    <HorizontalScrollView android:id="@+id/ScrollView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:scrollbars="horizontal" >
    <LinearLayout android:id="@+id/LinearLayout"
    android:orientation="horizontal" android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <TextView android:id="@+id/TestView" android:layout_width="wrap_content"
    android:layout_height="fill_parent" android:text="ScrollView也是一个Layout布局,可以让它内部的数据显示不下的时候出现垂直滚动条,要注意的是不能在ScrollView中放多个组件" />
    </LinearLayout>
    </HorizontalScrollView>
    </LinearLayout>


    main.java稍作修改可以使用如下两个xml

    main.xml

    <?xml version="1.0" encoding="utf-8"?>
    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/ScrollView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:scrollbars="vertical" >

    <LinearLayout
    android:id="@+id/LinearLayout"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <TextView
    android:id="@+id/TestView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="TestView0" />

    <Button
    android:id="@+id/Button"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Button0" >
    </Button>
    </LinearLayout>

    </ScrollView>

    mian1.xml

    View Code
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/main"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <Button
    android:id="@+id/Button"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Button0" >
    </Button>

    <ScrollView
    android:id="@+id/ScrollView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:scrollbars="vertical" >

    <LinearLayout
    android:id="@+id/LinearLayout"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <TextView
    android:id="@+id/TestView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="TestView0" />
    </LinearLayout>
    </ScrollView>

    </LinearLayout>





  • 相关阅读:
    【吐血整理】SVN命令行,Subversion的正确使用姿势,让版本控制更简单~
    【踩坑速记】MIUI系统BUG,调用系统相机拍照可能会带给你的一系列坑,将拍照适配方案进行到底!
    【福利大放送】不止是Android,Github超高影响力开源大放送,学习开发必备教科书
    【开发必备】今天我们来谈谈Android NDK动态链接库(so文件)的一些见解
    【使用教程】论Windows下必备的抓包工具Fiddler2如何安装证书(查看Https)
    【年终总结】我的2016,阅读本文大约需要一整年
    【知识必备】一文让你搞懂design设计的CoordinatorLayout和AppbarLayout联动,让Design设计更简单~
    【踩坑速记】开源日历控件,顺便全面解析开源库打包发布到Bintray/Jcenter全过程(新),让开源更简单~
    【知识必备】ezSQL,最好用的数据库操作类,让php操作sql更简单~
    Hive 8、Hive2 beeline 和 Hive jdbc
  • 原文地址:https://www.cnblogs.com/flyingsir/p/2300281.html
Copyright © 2011-2022 走看看