horizontalscrollview
来源:互联网 发布:淘宝有客服投诉电话 编辑:程序博客网 时间:2024/04/26 03:56
activity_custom_hscrollview_main.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <com.example.horizontalscrollview.MyScrollView android:id="@+id/myView" android:layout_width="match_parent" android:layout_height="wrap_content" android:scrollbars="none" > <LinearLayout android:id="@+id/sortliner" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="horizontal" android:paddingLeft="10dp" android:paddingRight="10dp" > </LinearLayout> </com.example.horizontalscrollview.MyScrollView></LinearLayout>
MainActivity
package com.example.horizontalscrollview;import com.example.horizontalscrollview.MyScrollView.OnScrollListener1;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.ViewGroup.LayoutParams;import android.widget.Button;import android.widget.LinearLayout;public class MainActivity extends Activity {private MyScrollView myView;// 自定义的滑动viewprivate LinearLayout sortliner;// 滑动条private LayoutParams params;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_custom_hscrollview_main);initView();initData(params);myView.setOnScrollListener(new OnScrollListener1() {@Overridepublic void onScroll() {}@Overridepublic void onRight() {}@Overridepublic void onLeft() {}});}public void initView() {// 获取ScrollView视图myView = (MyScrollView) findViewById(R.id.myView);// 获取ScrollView视图下的子视图sortliner = (LinearLayout) findViewById(R.id.sortliner);params = new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);sortliner.removeAllViews();}/** * 准备数据 addView(View child, int index, LayoutParams params) */private void initData(LayoutParams params) {for (int i = 0; i < 10; i++) {// 往二级分类中加载数据Button sort = new Button(MainActivity.this);// 给二级分类赋值sort.setText("测试" + i);// 设置字体大小sort.setTextSize(15);// 设置二级分类的最小高度sort.setMinHeight(30);// 设置二级分类的周边sort.setPadding(20, 5, 20, 5);// 把TextView添加到滑动条内sortliner.addView(sort, i, params);}}}
MyScrollView
package com.example.horizontalscrollview;import android.content.Context;import android.util.AttributeSet;import android.view.View;import android.widget.HorizontalScrollView;public class MyScrollView extends HorizontalScrollView{public MyScrollView(Context context) {super(context);}public MyScrollView(Context context, AttributeSet attrs) {super(context, attrs);}public MyScrollView(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);}@Overrideprotected void onScrollChanged(int l, int t, int oldl, int oldt) { View view = (View) getChildAt(getChildCount()-1); // 如果为0,证明滑动到最左边 if(view.getLeft()-getScrollX()==0){ onScrollListener.onLeft(); //如果为0证明滑动到最右边 }else if((view.getRight()-(getWidth()+getScrollX()))==0){ onScrollListener.onRight(); //说明在中间 }else{ onScrollListener.onScroll(); } super.onScrollChanged(l, t, oldl, oldt);} /** * 定义接口 * @author admin */ public interface OnScrollListener1{ void onRight(); void onLeft(); void onScroll(); } private OnScrollListener1 onScrollListener; public void setOnScrollListener(OnScrollListener1 onScrollListener){ this.onScrollListener=onScrollListener; }}
0 0
- HorizontalScrollView
- HorizontalScrollView
- Horizontalscrollview
- horizontalscrollView
- HorizontalScrollView
- horizontalscrollview
- HorizontalScrollView
- HorizontalScrollView
- HorizontalScrollView
- HorizontalScrollView
- HorizontalScrollView
- HorizontalScrollView
- HorizontalScrollView
- HorizontalScrollView介绍
- android HorizontalScrollView
- Android HorizontalScrollView
- ViewPager,HorizontalScrollView
- Android HorizontalScrollView
- Java Semaphore 信号量
- netty学习之二:ByteBuf解读
- Android事件处理
- iOS开发网络篇—使用ASI框架进行文件下载
- maven repository
- horizontalscrollview
- Android优化笔记
- 通信阶段的总结
- 【转】vc++6.0 字节定义和字节转换。
- ASP.NET合并两个相关联的DataTable
- iOS开发拓展篇—UIDynamic(简单介绍)
- <style name="Theme.Base.AppCompat.DialogWhenLarge" 的错误是error: Error retrieving parent for item: No
- iOS开发拓展篇—音效的播放
- linux ubuntu 下面安装google浏览器