AndroidGUI22:ScrollView/HorizontalScrollView常用技巧

AndroidUI之HorizontalScrollView联动,实现表格样式        本篇文章主要讲述如何解决让listview上下左右滑动,并且宽度无限制。这就要使用两个HorizontalScrollView联动来实现这个功能。        HorizontalScrollView实际是一个FrameLayout,一般里面只放置LinearLayout子控件。如果要让listview上下左右滑动,就必须重写listview。        案例如下:      ... 阅读详情

</![endif]--></!--></![endif]--></!--></![endif]--></!--></![endif]--></!-->

ScrollView是ViewGroup的派生类,ViewGroup是View的派生类。

+       屏幕大小总是有限制的,对移动设备来说更是如此。当有很多内容需要显示的时候,一屏显示不完时,就需要使用滚动的方式。

+       ScrollView只能包含一个直接子view,这是因为ScrollView是FrameLayout的派生类,通常情况下,这个直接子view是一个LinearLayout,在直接子view(比如LinearLayout)中,可以再包含其他对象。

+      ScrollView只支持垂直滚动。

+      HorizontalScrollView除只支持水平滚动外,其他都和ScrollView一样。

+      如果要屏幕支持垂直滚动和水平滚动,那么就要让HorizontalScrollView作为ScrollView的直接子view,或者让ScrollView作为HorizontalScrollView的直接子view。


 

1.    创建一个AndroidProject,修改main.xml,使之如下:

<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"

    android:id="@+id/vsv"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    >

    <HorizontalScrollView

                android:id="@+id/hsv"

             android:layout_width="fill_parent"

             android:layout_height="fill_parent"

    >

                    <ImageView 

                        android:layout_width="1280px"

                        android:layout_height="800px"

                        android:src="@drawable/desktop"

               />

    </HorizontalScrollView>

</ScrollView>

可以看到,在ScrollView里面嵌入了一个HorizontalScrollView,在HorizontalScrollView里面再嵌入了一个ImageView,ImageView用来显示一个1280x 800像素的大图片。

 

2.    将desktop.png拷贝到res/drawable-mdpi文件夹下。

 

3.    修改Activity所对应的Java代码,使之如下:

packagecom.pat.gui;

 

importandroid.app.Activity;

importandroid.os.Bundle;

importandroid.util.Log;

importandroid.view.MotionEvent;

importandroid.view.View;

importandroid.view.Window;

importandroid.view.WindowManager;

importandroid.view.View.OnTouchListener;

importandroid.widget.HorizontalScrollView;

importandroid.widget.ScrollView;

 

publicclass ControlScrollView extends Activity

implements

OnTouchListener

{

    private ScrollView vsv;

    private HorizontalScrollView hsv;

   

    @Override

    public void onCreate(BundlesavedInstanceState)

    {

        super.onCreate(savedInstanceState);

       

        // 去掉标题栏

        requestWindowFeature(Window.FEATURE_NO_TITLE);

        // 全屏显示

       this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,

                                                           WindowManager.LayoutParams.FLAG_FULLSCREEN);

        setContentView(R.layout.main);

       

        vsv = (ScrollView)findViewById(R.id.vsv);

        hsv =(HorizontalScrollView)findViewById(R.id.hsv);

       

        vsv.setOnTouchListener(this);

        hsv.setOnTouchListener(this);

    }

 

         //@Override

         public boolean onTouch(View v,MotionEvent event)

         {

                   if(event.getAction() ==MotionEvent.ACTION_MOVE)

                   {

                            int x =(int)event.getX();

                            int y =(int)event.getY();

                           

                            Log.e("Coordinates= ", "(" + x + ", " + y + ")");

                   }

 

                   return false;

         }

}

 

运行结果如下:

可以在水平方向或者垂直方向滚动。对应的Logcat输出如下:


所输出的坐标就是鼠标(真机上的手指)开始接触屏幕时的坐标。


 

4.    说明:

a)     水平方向和垂直方向不能同时滚动。也就是说要么水平滚动,要么垂直滚动,而不能两个方向同时滚动。

b)     ImageView可以由其他View对象代替,比如LinearLayout,而在LinearLayout里面,可以放置其他的component,比如EditText、Button等等。

 

FPGA—DHT11数字温湿度传感器 1. DH1T11温湿度传感器与DS18B20温湿度传感器非常类似,都是严格按照时序要求写代码。建议可以比较学习。2. 显示温度与湿度部分的数据处理,采用 X10 进行在数码管上的移一位显示,配合了数码管小数部分的显示特点又区分了温度与湿度。3. 程序是按照一个接一个状态及顺序跳转的,建议使用状态机。说明:本人使用的是野火家Xilinx Spartan6系列开发板及配套教程,以上内容如有疑惑或错误欢迎评论区指出,或者移步B站观看野火家视频教程。 阅读详情

相关推荐

5步搞定ABB机器人RobotStudio与S7-1500PLC的Profinet通讯(附PLCSIM调试技巧)

本文详细介绍了如何利用RobotStudio与TIA Portal软件,结合PLCSIM Advanced仿真器,在零硬件条件下实现ABB机器人与西门子S7-1500 PLC之间的Profinet通讯虚拟调试。通过五个核心步骤,从环境搭建、网络配置、信号映射到联合仿真与高级调试,帮助工程师在项目前期高效验证逻辑、压缩现场调试周期,并掌握实用的PLCSIM调试技巧。

weixin_29188043的博客 505

Android横向滚动自动居中的HorizontalScrollView

Android横向滚动自动居中的HorizontalScrollView 说实话百度没到合适的,就只能自己改改了。 开发目标: 1.支持横向滚动 2.滑动停止能够自动滚动到item中间的位置 3.点击item自动滚动到选中item的位置 4.第一个item和最后一个item要可以滚动到中间位置 Like this: 思路: 1.HorizontalScrollView改造一下 2.Rec...

u010257120的博客 6997

告别臃肿VS!仅用Visual Studio 2022 Build Tools为Qt 5.12.12配置MSVC2017开发环境

本文详细介绍了如何仅使用Visual Studio 2022 Build Tools为Qt 5.12.12配置MSVC2017开发环境,避免安装臃肿的完整VS。通过精准选择组件、配置Qt Creator编译器和优化Kit设置,实现高效、精简的Windows平台Qt开发环境搭建,特别适合追求性能和资源优化的开发者。

weixin_30340617的博客 350

Android 用HorizontalScrollView实现滑动标签tabView

顶部滑动tabView,配合viewpager使用,类似于今日头条类那种效果,功能虽小,但是实现起来确实有点麻烦,我也是来回搞了半下午,才达到想要的效果。 大体思路: 1.自定义view,实现HorizontalScrollView。 2.在onDraw方法里绘制指示器,(当然也可以用动画的方式实现这个效果) 3.绑定page监听,根据偏移百分比来确定指示器滑动横坐标  4.刷新view

duke618的博客 5246

Visio 2013安装遇阻?手把手教你搞定注册表权限错误1402(附64位系统特殊处理)

本文详细解析了Visio 2013安装过程中常见的注册表权限错误1402问题,特别是在64位系统下的特殊处理方法。通过分步指导如何修改注册表权限、处理Wow6432Node分支以及使用高级工具如subinacl,帮助用户顺利完成安装并避免常见连带问题。

t8u9v0w1x的博客 543

8.30华为OD机试真题 新系统 - 单词搜索计数 (Java/Py/C/C++/Js/Go)

8.30华为OD机试真题 新系统 - 单词搜索计数 (Java/Py/C/C++/Js/Go)

算法大师! 600

android horizontalscrollview 固定宽度,Android HorizontalScrollView 内容宽度

我有一个TableLayout,它的内容是动态生成的。我遇到了下面的问题:当动态生成的一行的内容太长时,靠右边的内容会被遮住了。于是我想要这个TableLayout在横向上可以滚动。解决的办法是,用HorizontalScrollView包装TableLayout,这样,当内容很长时,就会出现横向滚动条。像这样:android:layout_width="fill_parent"android:l...

weixin_32008105的博客 496

【无人机路径规划】基于强化学习实现多无人机路径规划附matlab代码

1 简介 本文提出一种基于强化学习实现多无人机路径规划。​ 2 部分代码 % This is used to measure the path length, service rate and risk explosure for each UAVs %% parameters function [PL,ServiceRate,Risk]=measure global N2; % divide [0,1]*[0,1] map into N2*N2 grid when calcul

qq_59747472的博客 6905

TV上控制HorizontalScrollView和ScrollView的滑动距离

重写onScrollChanged判断滑动方向,onOverScrolled控制滑动距离 public class PosterScrollView extends HorizontalScrollView { private int offset = 0; public PosterScrollView(Context context, AttributeSet attrs) { su...

weixin_30745553的博客 660

Cesium中级开发教程之五十二:气泡弹窗

支持多种交互方式触发气泡弹窗显示,如鼠标悬停、点击地图上的特定元素(像实体、标注、模型等)。例如,当用户鼠标悬停在一个表示城市的点上时,弹出显示该城市名称、人口等信息的气泡。:依据特定的数据条件或业务逻辑触发。比如,当某个区域的气象数据达到一定阈值时,自动弹出显示相关气象预警信息的气泡。

664

2、稳定性问题全景图——死机、重启、ANR、Crash、黑屏五大类

当 Crash 发生在 system_server、surfaceflinger、mediaserver 等关键系统进程中时,其后果等同于系统级故障,可能触发 Zygote 重启甚至 kernel panic。这类问题在稳定性治理中的优先级应等同于 P0。

woailuojp的博客 49

HorizontalScrollView+listview实现右滑

      最近在做一个盘点软件,实现条形码扫描搜索数据库的数据,显示在listview里,但是要显示的属性比较多,屏幕无法全部显示,所以就采用HorizontalScrollView+listview实现右滑。      先上图          下面是布局文件部分内容   &lt;db.SyncHorizontalScrollView android:layo...

追风筝的孩子 792

华为OD机试 - 机器人活动区域(Python/JS/C/C++ 双机位C卷 200分)

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。现有一个机器人,可放置于 M × N的网格中任意位置,每个网格包含一个非负整数编号。当相邻网格的数字编号差值的绝对值小于等于 1 时,机器人可在网格间移动问题:求机器人可活动的最大范围对应的网格点数目。说明:1)网格左上角坐标为 (0, 0),右

学Java,找哪吒 1433

Android中HorizontalScrollView的使用总结

Android中HorizontalScrollView的使用总结

弱水三千只取一瓢饮 9768

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Android HorizontalScrollView回弹效果

转载记录备份查阅import android.annotation.SuppressLint; import android.os.Build; import android.util.Log; import android.view.MotionEvent; import android.view.View; import android.view.ViewTreeObserver; import

奋斗的小欣 1941

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

横向滑动视图HorizontalScrollView精炼详解

一、前期基础知识储备 由于移动设备物理显示空间一般有限,不可能一次性的把所有要显示的内容都显示在屏幕上。所以各大平台一般会提供一些可滚动的视图来向用户展示数据。Android平台框架中为我们提供了诸如ListView、GirdView、ScrollView、RecyclerView等滚动视图控件,这几个视图控件也是我们平常使用最多的。本节内容我们来分析一下横向滚动视图Horizonta...

Chin_Style的博客 3万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

android HorizontalScrollView的简单使用

android HorizontalScrollView的简单使用

zhouguizhi 2639

用HorizontalScrollView布局实现类似Gallery效果

先看效果如下: 我们看一下布局如下: [html] view plaincopyprint? xml version="1.0" encoding="utf-8"?>   HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"        

迦南的专栏 717

android 使用HorizontalScrollView 实现标题带动内容左右切屏

android 使用HorizontalScrollView 实现标题带动内容左右切屏 在布局中添加&lt;HorizontalScrollView&gt;标签, &lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android....

u012602304的博客 772

android中scrollview嵌套HorizontalScrollView导致横向滑动卡顿现象解决

也许会有人遇到,在这里说下解决方法。方便以后有人纠结这个问题。 开发中经验会遇到滑动里面嵌入滑动的问题,但是这种情况下触摸事件就会发生冲突。导致滑动非常卡,甚至出现程序停止响应。这种情况下我们一般需要重写view。下面给出重新scrollview的方法 ? public class CustomScrollView extends ScrollView { priv

2万+

android horizontalscrollview属性,Android中HorizontalScrollView使用方法详解

由于移动设备物理显示空间一般有限,不可能一次性的把所有要显示的内容都显示在屏幕上。所以各大平台一般会提供一些可滚动的视图来向用户展示数据。Android平台框架中为我们提供了诸如ListView、GirdView、ScrollView等滚动视图控件,这几个视图控件也是我们平常使用最多的。下面介绍一下HorizontalScrollView的使用和需要注意的点:HorizontalScrollVie...

weixin_42502060的博客 1454

记录Android开发中使用HorizontalScrollView的坑

前言对于Android中的HorizontalScrollView控件,第一感觉是不怎么熟悉的,在以往的项目开发基本没有使用到. 横向的滚动布局也可以使用RecyclerView控件,所以HorizontalScrollView的使用频率确实不高. 最近开发的功能点需要使用到横向滚动的布局,往横向滚动的布局中添加图片,所以就打算使用HorizontalScrollView控件,这样也可以对其有一定的

追求,成长 7060

Android中ScrollView和HorizontalScrollView使用详解.

文章:Android中ScrollView使用详解 Android中ScrollView的用法 ScrollView滚动视图是指当拥有很多内容,屏幕显示不完时,需要通过滚动跳来显示的视图。包括水平滚动视图(HorizontalScrollView)和垂直滚动视图(ScrollView)。 ScrollView和HorizontalScrollView下只能有一个控件,如果需要多个一起,则可以添

三颗猴面包树 1066
上一篇: AndroidGUI21:ImageSwitcher常用技巧
下一篇: AndroidGUI23:水平方向和垂直方向同时滚动
pathuang68
博客等级 码龄18年 1821粉丝 194原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值