尚学堂【官网】-西安Java培训|c++培训|Android培训|安卓培训|java视频教程|软件工程师|-西安雁塔尚学堂计算机学校
 陕西科技大学-实习就业项训基地        陕西师范大学-实习就业项训基地
 西安财经学院-实习就业项训基地        西安工业大学-实习就业项训基地
  试听热线:
  029-62258374
Android培训/西安Android培训  尚学堂首页Java学院Android培训/西安Android培训

android设置水平垂直滚动条自动滚动

www.xasxt.com 发布人:java  |  来自:本站  |  发布时间:2017-07-28 10:45:00  |  点击次数:1181

android 设置水平垂直滚动条自动滚动。看看下面的实例代码,希望对大家有所帮助

[html] view plaincopy
android:id="@+id/horizonMenu" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:scrollbars="none" > 
android:id="@+id/chart_navigate" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:layout_alignParentLeft="true" 
android:layout_gravity="top" 
android:background="#ffffff" 
android:orientation="horizontal" 
android:layout_margin="0dp" 
android:layout_marginBottom="1dip" 
android:padding="0dp">

 

 

[java] view plaincopy
 
public class ChartFramgment extends Fragment { 
private static View viewMain; 
// the loading dialog after completed to login 
private static LinearLayout linearLayout; 
private static int navigateWidth = 0; 
private static HorizontalScrollView horizontalScrollView; 
private final static Handler handler = new Handler(); 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
Bundle savedInstanceState) { 
super.onCreateView(inflater, container, savedInstanceState); 
// get the view by id in the framgment. 
viewMain = inflater.inflate(R.layout.chart, container, false); 
DisplayMetrics displaymetrics = new DisplayMetrics(); 
getActivity().getWindowManager().getDefaultDisplay() 
.getMetrics(displaymetrics); 
navigateWidth=(int)(displaymetrics.widthPixels*0.8); 
horizontalScrollView = (HorizontalScrollView) viewMain 
.findViewById(R.id.horizonMenu); 
horizontalScrollView 
.setLayoutParams(new android.widget.RelativeLayout.LayoutParams( 
navigateWidth, 100)); 
linearLayout = (LinearLayout) viewMain 
.findViewById(R.id.chart_navigate); 
linearLayout.setOrientation(LinearLayout.HORIZONTAL); 
return viewMain; 

 
public static void slipToNext() { 
//滑动到下一页d的相关处理 
//...... 
//导航滚动条随着水平滚动 ,这里必须放到handler里面异步处理滚动才会到位,否则滚动会是上次滚动的结果,总差那么一点。 
handler.post(scrollHandler); 

 
public static void slipToBack() { 
//滑动到上一页d的相关处理 
//...... 
//导航滚动条随着水平滚动 
handler.post(scrollHandler); 

@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 

private static Runnable scrollHandler = new Runnable() { 
@Override 
public void run() { 
//计算滚动偏移量 
int offSet = (linearLayout.getMeasuredWidth()) 
- horizontalScrollView.getWidth(); 
if (offSet < 0) { 
offSet = 0; 

//滑到制定位置 
horizontalScrollView.scrollTo(offSet, 0); 

}; 
}
以上是水平自动滚动的部分代码,垂直类似,做对应改动即可。

当前文:android设置水平垂直滚动条自动滚动
上一页:8种开源android游戏引擎
下一页:android多线程程序四步轻松完成
在线报名(*为必填项)
在线咨询