android开发-为什么我的滚动条没有滚动?

问题描述

为什么我的滚动条没有滚动?
代码如下:
public class MainActivity extends ActionBarActivity {
private ViewPager viewPager;
private ImageView cursor;
private Listlists=new ArrayList<>();
private TextView t1t2t3;
private int currindex=0;//当前页卡编号
private int tpwidth;//滚动条宽度
private int offest;//滚动条偏移量

protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    initView();    viewPagerView();    initImageView();}private void initImageView() {    cursor= (ImageView) findViewById(R.id.cursor);    tpwidth= BitmapFactory.decodeResource(getResources()R.drawable.slidings).getWidth();//获得滚动条宽度    DisplayMetrics dm=new DisplayMetrics();    System.out.println(tpwidth + ""aaaaaaaaaa"");    getWindowManager().getDefaultDisplay().getMetrics(dm);    int screenWidth=dm.widthPixels;//获得屏幕分辨率    System.out.println(screenWidth + ""!!!!!!!!!!!!!!!!!!!"");    offest=(screenWidth/3-tpwidth);    System.out.println(offest + ""1111111"");    Matrix matrix=new Matrix();    matrix.postTranslate(00);    cursor.setImageMatrix(matrix);//设置滚动条开始位置}private void viewPagerView() {    viewPager= (ViewPager) findViewById(R.id.viewPager);    cursor= (ImageView) findViewById(R.id.cursor);    LayoutInflater inflater =getLayoutInflater();    lists.add(inflater.inflate(R.layout.fragment1null));    lists.add(inflater.inflate(R.layout.fragment2null));    lists.add(inflater.inflate(R.layout.fragment3 null));    viewPager.setAdapter(new MyPageAdapter(lists));    viewPager.setCurrentItem(0);//默认第一个    viewPager.setOnPageChangeListener(new MyOnPageChangeListener());}private void initView() {    t1= (TextView) findViewById(R.id.TextView1);    t2= (TextView) findViewById(R.id.TextView2);    t3= (TextView) findViewById(R.id.TextView3);    t1.setOnClickListener(new MyOnClickListener(0));    t2.setOnClickListener(new MyOnClickListener(1));    t3.setOnClickListener(new MyOnClickListener(2));}private class MyOnClickListener implements View.OnClickListener {    private int index=0;    public MyOnClickListener(int i) {        index=i;    }    public void onClick(View v) {        viewPager.setCurrentItem(index);    }}private class MyPageAdapter extends PagerAdapter {    private List<View>mlists;    public MyPageAdapter(List<View> lists) {          this.mlists=lists;    }    public int getCount() {        return mlists.size();    }    public void finishUpdate(View container) {    }    public Object instantiateItem(ViewGroup container int position) {        ((ViewPager) container).addView(mlists.get(position) 0);        return mlists.get(position);    }    public void destroyItem(ViewGroup container int position Object object) {        ((ViewPager) container).removeView(mlists.get(position));    }    public boolean isViewFromObject(View view Object o) {        return view==o;    }    public void restoreState(Parcelable state ClassLoader loader) {    }    public void startUpdate(ViewGroup container) {    }    public Parcelable saveState() {        return null;    }}private class MyOnPageChangeListener implements ViewPager.OnPageChangeListener {    int one=offest+tpwidth;//页卡一到页卡二的偏移量    int two=one*2;//页卡一到页卡三的偏移量    public void onPageSelected(int i) {        Animation animation=null;        switch (i){            case 0 :                if (currindex==1){                    animation=new TranslateAnimation(one000);                }                else if (currindex==2){                    animation=new TranslateAnimation(two000);                }                break;            case 1:                if (currindex==0){                    animation=new TranslateAnimation(offestone00);                }                else if (currindex==2){                    animation=new TranslateAnimation(twoone00);                }                break;            case 2:                if (currindex==0){                    animation=new TranslateAnimation(offesttwo00);                }                else if (currindex==1){                    animation=new TranslateAnimation(onetwo00);                }                break;        }        currindex=i;        animation.setFillAfter(true);//true:图片停在滚动结束的位置        animation.setDuration(300);        cursor.startAnimation(animation);    }    public void onPageScrolled(int i float v int i1) {    }    public void onPageScrollStateChanged(int i) {    }}

}
运行效果截图:
开发-为什么我的滚动条没有滚动?-android滚动条">

解决方案

你的adapter没有getItem啊

解决方案二:
可以说的具体一点吗?谢谢

解决方案三:
没有滚动条的ScrollView

时间: 2024-09-15 11:22:05

android开发-为什么我的滚动条没有滚动?的相关文章

Android开发:TextView加入滚动条示例_Android

利用scrollview来实现,效果会好很多 复制代码 代码如下: <ScrollView android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="150dp" android:fadingEdge="vertical" android:scrollbars="vertical"

Android开发:TextView加入滚动条示例

利用scrollview来实现,效果会好很多 复制代码 代码如下: <ScrollView android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="150dp" android:fadingEdge="vertical" android:scrollbars="vertical"

android开发实现列表控件滚动位置精确保存和恢复的方法(推荐)

Android开发经常要对列表的滚动位置进行保存和恢复,网上也有很多关于此功能的方法文章,但绝大多数都只能保存恢复到某一行,对于滚动到半行的情况不能精确的恢复.也有很多文章介绍了好几种方法,也说某些方法能够精确的控制,但实际上根本不能实现.还有些介绍了很多玄乎且非常复杂的方法,但也没看到能完整实现的代码. 经过一段时间的研究测试,下面的代码可以完美的实现列表滚动位置的精确保存和恢复,而且只是在原来记忆到行位置的基础上增加了2行代码而已. 具体见下面代码和注释: //保存位置: int posit

android开发教程之文本框加滚动条scrollview_Android

我们都知道EditText与TextView是Android的文本输入框和文本显示框,但是基于手机屏幕的大小因素,如果在需要输入较多文字或者显示较多内容的时候,手机屏幕是远远不够的,因此让文本框具有滚动条的功能是手机上必备的,下面介绍下如何加上滚动条.要加上滚动条,其实很简单,只需要在文本输入框或者文本显示框上面加上滚动条控件即可,该控件名字为ScrollView,以下我们对比下(以TextView举例). 复制代码 代码如下: //A.未加滚动效果 <TextView android:layo

Android开发ListView中下拉刷新上拉加载及带列的横向滚动实现方法_Android

ListView 控件可使用四种不同视图显示项目.通过此控件,可将项目组成带有或不带有列标头的列,并显示伴随的图标和文本. 可使用 ListView 控件将称作 ListItem 对象的列表条目组织成下列四种不同的视图之一:1.大(标准)图标2.小图标3.列表4.报表 View 属性决定在列表中控件使用何种视图显示项目. 还可用 LabelWrap 属性控制列表中与项目关联的标签是否可换行显示.另外,还可管理列表中项目的排序方法和选定项目的外观. 相信有很人做的项目估计都用的到这个.就是List

android开发教程之文本框加滚动条scrollview

我们都知道EditText与TextView是Android的文本输入框和文本显示框,但是基于手机屏幕的大小因素,如果在需要输入较多文字或者显示较多内容的时候,手机屏幕是远远不够的,因此让文本框具有滚动条的功能是手机上必备的,下面介绍下如何加上滚动条.要加上滚动条,其实很简单,只需要在文本输入框或者文本显示框上面加上滚动条控件即可,该控件名字为ScrollView,以下我们对比下(以TextView举例). 复制代码 代码如下://A.未加滚动效果 <TextView android:layou

Android开发实现自定义水平滚动的容器示例

本文实例讲述了Android开发实现自定义水平滚动的容器.分享给大家供大家参考,具体如下: public class HorizontalScrollView extends ViewGroup { //手势 private GestureDetector mGestureDetector; private HorizontalScroller mScroller; private int curID; //快速滑动 private boolean isFlying; //--回调函数-----

Android开发之机顶盒上gridview和ScrollView的使用详解_Android

最近在机顶盒上做一个gridview, 其焦点需要在item的子控件上,但gridview的焦点默认在item上,通过 android:descendantFocusability="afterDescendants" <ScrollView android:id="@+id/scroll_content" android:layout_width="1740.0px" android:layout_height="600.0px

Android开发之机顶盒上gridview和ScrollView的使用详解

最近在机顶盒上做一个gridview, 其焦点需要在item的子控件上,但gridview的焦点默认在item上,通过 android:descendantFocusability="afterDescendants" <ScrollView android:id="@+id/scroll_content" android:layout_width="1740.0px" android:layout_height="600.0px