`

横向滚动条顶端或尾端事件

 
阅读更多

#功能:当横向滚动条滚到顶端时,左箭头灰掉;当滚到尾端时,右箭头灰掉;当滚到中间时,左右箭头水红色;

效果如下图


 

<!-- /res/layout/horizontal_view_demo.xml -->
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
  <LinearLayout
	  xmlns:android="http://schemas.android.com/apk/res/android"
	  android:orientation="horizontal"
	  android:layout_width="fill_parent"
	  android:layout_height="40dp">
  <TextView android:id="@+id/h_left"
  	android:layout_width="13dp"
  	android:layout_height="fill_parent"
  	android:textSize="20dp"
  	android:gravity="center"
  	android:background="@color/grey"
  	android:text="<"/>
  <HorizontalScrollView android:id="@+id/h_horizontal"
  	android:layout_width="200dp"
  	android:layout_height="fill_parent"
  	android:layout_weight="1"
  	android:scrollbars="none">
  	<LinearLayout
	  xmlns:android="http://schemas.android.com/apk/res/android"
	  android:orientation="horizontal"
	  android:layout_width="fill_parent"
	  android:layout_height="fill_parent">
	  <TextView android:id="@+id/h_t1"
	  	android:layout_width="70dp"
	  	android:layout_height="fill_parent"
	  	android:textSize="20dp"
	  	android:gravity="center"
	  	android:layout_margin="1dp"
	  	android:background="#666666"
	  	android:text="人事部"/>
	  <TextView android:id="@+id/h_t2"
	  	android:layout_width="70dp"
	  	android:layout_height="fill_parent"
	  	android:textSize="20dp"
	  	android:gravity="center"
	  	android:layout_margin="1dp"
	  	android:background="#666666"
	  	android:text="账务部"/>
	  <TextView android:id="@+id/h_t3"
	  	android:layout_width="70dp"
	  	android:layout_height="fill_parent"
	  	android:textSize="20dp"
	  	android:gravity="center"
	  	android:layout_margin="1dp"
	  	android:background="#666666"
	  	android:text="技术部"/>
	  <TextView android:id="@+id/h_t4"
	  	android:layout_width="70dp"
	  	android:layout_height="fill_parent"
	  	android:textSize="20dp"
	  	android:gravity="center"
	  	android:layout_margin="1dp"
	  	android:background="#666666"
	  	android:text="销售部"/>
	  <TextView android:id="@+id/h_t5"
	  	android:layout_width="70dp"
	  	android:layout_height="fill_parent"
	  	android:textSize="20dp"
	  	android:gravity="center"
	  	android:layout_margin="1dp"
	  	android:background="#666666"
	  	android:text="制作部"/>
	  <TextView android:id="@+id/h_t6"
	  	android:layout_width="70dp"
	  	android:layout_height="fill_parent"
	  	android:textSize="20dp"
	  	android:gravity="center"
	  	android:layout_margin="1dp"
	  	android:background="#666666"
	  	android:text="设计部"/>
	  <TextView android:id="@+id/h_t7"
	  	android:layout_width="70dp"
	  	android:layout_height="fill_parent"
	  	android:textSize="20dp"
	  	android:gravity="center"
	  	android:layout_margin="1dp"
	  	android:background="#666666"
	  	android:text="行政部"/>
	</LinearLayout>
  </HorizontalScrollView>
  <TextView android:id="@+id/h_right"
  	android:layout_width="13dp"
  	android:layout_height="fill_parent"
  	android:textSize="20dp"
  	android:gravity="center"
  	android:background="@color/pink"
  	android:text=">"/>
  </LinearLayout>
</LinearLayout>

 

public class HorizontalViewDemo extends Activity {
	private HorizontalScrollView hsv;
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		this.setContentView(R.layout.horizontal_view_demo);
		
		hsv = (HorizontalScrollView)findViewById(R.id.h_horizontal);
		hsv.setOnTouchListener(new OnTouchListener(){
			@Override
			public boolean onTouch(View view, MotionEvent me) {
				TextView hLeft = (TextView)findViewById(R.id.h_left);
				TextView hRight = (TextView)findViewById(R.id.h_right);
				if (hsv.getScrollX() == 0) {
					hLeft.setBackgroundResource(R.color.grey);
				} else if (hsv.getScrollX() > 0) {
					hLeft.setBackgroundResource(R.color.pink);
				}
				if (hsv.getScrollX() == 210) {//210这个值在不同像数需要改变
					hRight.setBackgroundResource(R.color.grey);
				} else if (hsv.getScrollX() < 210) {
					hRight.setBackgroundResource(R.color.pink);
				}
				return false;
			}
		});
	}
}

  • 大小: 5.2 KB
分享到:
评论

相关推荐

    select 横向滚动条

    可以使用`overflow-x`属性来添加横向滚动条,设置为`auto`或`scroll`,当内容超出容器宽度时,滚动条就会出现。例如: ```css .select-container { width: 300px; /* 容器宽度 */ overflow-x: auto; /* 添加横向...

    hicharts 横向滚动条例子

    1分评价后就返回了,就是个小例子!hicharts 柱状图添加横向滚动条

    C#(winform)用HScrollBar实现横向滚动条的多项功能

    C#(winform)用HScrollBar实现横向滚动条的多项功能 C#(winform)用HScrollBar实现横向滚动条的多项功能 C#(winform)用HScrollBar实现横向滚动条的多项功能 C#(winform)用HScrollBar实现横向滚动条的多项功能 ...

    flex tree 自动显示横向滚动条

    flex tree 自动显示横向滚动条 自定义重写

    JS模仿横向滚动条

    然而,随着Web开发技术的进步,尤其是CSS3和JavaScript的发展,我们可以利用这些技术来定制滚动条的外观和行为,实现横向或纵向的滚动效果。 首先,要创建一个横向滚动条,通常需要设置元素的`overflow-x`属性为`...

    购物网站带横向滚动条的图片展示代码

    购物网站带横向滚动条的图片展示代码 购物网站带横向滚动条的图片展示代码 购物网站带横向滚动条的图片展示代码 购物网站带横向滚动条的图片展示代码 购物网站带横向滚动条的图片展示代码 购物网站带横向滚动条的...

    ListBox 横向滚动条 控件

    为了进一步了解和学习,你可以下载并运行该项目,查看其中的源码,研究其布局、事件处理以及数据绑定等部分,这将有助于加深对ListBox横向滚动条功能的理解。 总之,ListBox的横向滚动条是一个实用的功能,它使得...

    横向滚动条

    ### 横向滚动条实现原理与应用 #### 一、引言 在现代Web开发中,为了提高用户体验,开发者经常需要对页面进行各种优化处理。当页面内容过多时,通常会采用滚动条来帮助用户浏览全部内容。除了常见的垂直滚动条外,...

    js购物网站带横向滚动条的图片展示代码,每屏可展示5种产品,可横向滚动,也可以使用箭头前后翻页。兼容主流浏览器

    "js购物网站带横向滚动条的图片展示代码"是解决这一问题的一种技术方案,它允许每屏显示5个商品,同时提供了横向滚动和箭头翻页功能,确保了在各种主流浏览器上的良好兼容性。接下来,我们将深入探讨这个代码实现的...

    用HScrollBar实现横向滚动条的多项功能.rar

    用户可以通过键盘上的箭头键或Page Up/Down键来控制滚动条,这需要绑定键盘事件并适当地改变滚动条的值。 最后,不要忽视了滚动条的样式和主题。根据应用程序的整体设计,可以自定义滚动条的外观,如颜色、大小、...

    Android 自定义横向滚动条 (二)

    Android 自定义横向滚动条。当你的横向字段或者表格很多时候,显示不下内容,可以使用很想滚动条进行滚动。竖向方面我添加了listview进行添加数据。两者滚动互不干扰。长按listview的item出现checkbox,可以进行多选...

    VB list 横向滚动条 精简源码

    这可能包括对`SCROLLINFO`结构的填充,以及在Listbox尺寸变化或内容改变时更新滚动条的逻辑。 `Form1.frm`和`Prj1.vbp`是VB项目中的两个关键文件。`Form1.frm`包含了窗体的设计和相关代码,其中应该包含了实现横向...

    解决layui数据表格table的横向滚动条显示问题

    通过这种做法,可以避免页面加载时横向滚动条被浏览器强制隐藏,从而减少或消除横向滚动条出现的几率。 此外,还有一种方法是通过JavaScript控制页面的body高度,确保它至少等于视口的高度。这样做可以确保在页面...

    Android 自定义横向滚动条联动进阶版

    Android 自定义横向滚动条联动进阶版。前一段时间写了一个自定义横向滚动条,感觉效果不怎样好。又开始改善结构,写了一个进阶版。标题和数据都可以横向联动。竖向也不影响。长按会横向移动到最右端,显示checkbx。...

    js 实现 为textarea加横向滚动条

    js 实现 为textarea加横向滚动条! 值得下载看看!资源免费,大家分享!!

    gridview固定表头 横向滚动 纵向固定

    "GridView固定表头横向滚动纵向固定" GridView是一个基于ASP.NET的数据控件,用于显示数据表格。然而,在默认情况下,GridView的表头无法固定在屏幕上,使得用户体验不佳。为了解决这个问题,本文将介绍如何实现...

    flex滚动条三种实现方式

    在Flex容器上,如果`overflow`属性设置为`auto`或`scroll`,则会在需要时显示水平或垂直滚动条。例如: ```css .container { display: flex; overflow: auto; /* 或 'scroll' */ } ``` 这种方式简单易用,但...

    gridview固定表头的一个具体实例----横向滚动 纵向滚动

    例如,监听滚动事件,并根据当前滚动位置动态调整表头的位置。 ```javascript $(document).ready(function () { var header = $('th'); $(window).scroll(function () { if ($(this).scrollTop() &gt; 0) { header...

    华丽滚动条滚动条Jquery

    "华丽滚动条滚动条Jquery"就是一个专注于提升滚动条视觉效果和交互体验的解决方案。这个标题表明我们将讨论如何利用Jquery这一强大的JavaScript库来创建炫丽的滚动条效果。 Jquery是一款广泛使用的JavaScript库,它...

Global site tag (gtag.js) - Google Analytics