Andriod ScrollView滚动视图

ScrollView纵向滚动视图

    1.ScrollbarThumbVertical 设置滚动条的颜色

    2.ScrollbarTrackVerTical设置滚动条区域的背景颜色

代码展示:

    

效果展示:


HorizontalScrollView横向可滚动的视图

    1.ScrollbarThumbHorizontal 设置滚动条的颜色

    2.ScrollbarTrackHorizontal 设置滚动条区域的背景颜色

四个方法:

    1.scrollTo(int x,int y) 设置水平到X位置垂直到Y位置(只可点击一次)

    2.scrollBy(int x,int y) 在原来的基础上设置水平到X位置垂直到Y位置上(可点击多次)

        这个属性是对于ScrollView而言的

    3.smoothScorllTo(int x,int y)相对于scrollTo平缓的滚动

    4.smoothScorllBy(int x,int y)相对于scrollBy平缓的滚动

    scrollTo代码展示:


效果如下:

为什么滚动视图(Scrollview)不能同步更新

11-16

我按照书上写的程序,编译后正常运行,添加记录后,可在标准视图中遍历记录,而在滚动视图中却不能看到记录,程序的部分内容如下rnvoid CEX08aScrollView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint) rnrn rn Invalidate(true); rn rnrnrnvoid CEX08aScrollView::OnInitialUpdate()rnrn CScrollView::OnInitialUpdate();rnrn CSize sizeTotal;rn // TODO: calculate the total size of this viewrn sizeTotal.cx = 640;rn sizeTotal.cy = 480;rn SetScrollSizes(MM_TEXT, sizeTotal);rnrnrnrnrnvoid CEX08aScrollView::OnDraw(CDC* pDC)rnrn CEX08aDoc* pDoc = GetDocument();rn ASSERT_VALID(pDoc);rn char str[64];rn int i=1;rnrn pDC->TextOut(100,0,"Code");rn pDC->TextOut(200,0,"Name");rn pDC->TextOut(400,0,"Age");rn pDC->TextOut(500,0,"Score");rn rn POSITION pos=pDoc->m_dataList.GetHeadPosition();rnrn [color=#FF0000]while(pos!=NULL[/color])rn rn rn CStudent *pStudent=pDoc->m_dataList.GetNext(pos);rn rn if(pos==pDoc->curPos||rn (pos==NULL&&pDoc->curPos==pDoc->m_dataList.GetHeadPosition()))rn pDC->TextOut(70,20*i,"=>");rnrn sprintf(str,"%d",pStudent->m_lCode);rn pDC->TextOut(100,20*i,str);rn pDC->TextOut(200,20*i,pStudent->m_sName);rn sprintf(str,"%d",pStudent->m_lAge);rn pDC->TextOut(400,20*i,str);rn sprintf(str,"%6.2f",pStudent->m_lScore);rn pDC->TextOut(500,20*i,str);rnrn i++;rn rnrn在OnDraw函数中,while前面的内容可在滚动视图中显示,后面的内容,则显示不出来,我认为后面的条件语句没有执行,不知是何原因?怎样解决?rn我曾把while(pos!=NULL)改为while(pos==NULL),编译通过,执行滚动视图时报错,既没有获得指针,必须退出.请高手帮忙指点,谢谢!

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试