android中一个关于ScrollView的例子
来源:互联网 发布:socket服务端 java 编辑:程序博客网 时间:2024/06/06 03:50
先给效果图:
关于ScrollView组件了,其实和HorizontalScroolView组件相似,前者是用来显示垂直方向,后者是显示水平方向,当然ScrollView也是只能添加唯一的一个子组件。
主activity(MainActivity.java):
package com.tody.scrollviewdemo;import android.os.Bundle;import android.app.Activity;import android.util.DisplayMetrics;import android.view.Gravity;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.LinearLayout.LayoutParams;import android.widget.ScrollView;import android.widget.TextView;import android.widget.Toast;/** * 主界面 * @author tody.yang * */public class MainActivity extends Activity {private int deviceHeight;//屏幕的高度private LinearLayout mLinearLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } /** * 获取屏幕高度 * @return deviceHeight 屏幕高度 */ private int getDeviceHeight(){ // 获取屏幕分辨率 DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); deviceHeight = dm.heightPixels; return deviceHeight; } private void initView(){ mLinearLayout = (LinearLayout) findViewById(R.id.lineLayout);//实例化一个线性布局组件,而这个组件作为ScrollView的唯一子组件 mLinearLayout.removeAllViews();//移除该组件下的所有子组件对象 int[] imageArray = {R.drawable.d0,R.drawable.d1,R.drawable.d2,R.drawable.d3,R.drawable.d4,R.drawable.d5,R.drawable.d6};//实例化一个整型数组用来存放图片资源 for (int i = 0; i < imageArray.length; i++) {//循环的次数和imageArray数组的长度相同LinearLayout itemLayout = (LinearLayout) LinearLayout.inflate(MainActivity.this, R.layout.scrollview_item, null);//动态实例化一个线性布局itemLayout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, getDeviceHeight()/3));//高度为当前屏幕的1/3itemLayout.setGravity(Gravity.CENTER_HORIZONTAL);//设置水平居中TextView mTextView = (TextView) itemLayout.findViewById(R.id.textView);//实例化scrollview_item布局中的TextView组件ImageView mImageView = (ImageView) itemLayout.findViewById(R.id.imageView);//实例化scrollview_item布局中的ImageView组件final String page = "第"+(i+1)+"张";mTextView.setText(page);//设置显示的文字mImageView.setBackgroundResource(imageArray[i]);//设置显示的图片mLinearLayout.addView(itemLayout);itemLayout.setOnClickListener(new OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "点击了"+page, Toast.LENGTH_SHORT).show();}});} } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
主界面布局文件(activity_main.xml):
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" ><ScrollView android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:id="@+id/lineLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > </LinearLayout></ScrollView></RelativeLayout>
加载子项的布局文件(scrollview_item.xml):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity" ><TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="俊哥" android:textSize="20sp" /><ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/d0" android:layout_gravity="center_horizontal" /></LinearLayout>
- android中一个关于ScrollView的例子
- android中一个关于horizontalscrollview的例子
- android中一个关于ViewPager的例子
- Android中关于ExpandableListView用法的一个简单小例子
- 关于Android中ScrollView嵌套ListView的问题
- android中一个流氓的小例子
- Android中Service的一个Demo例子
- 一个android中AIDL的简单例子
- Android-关于一个界面同级中需要两个listView时,一个ListView被嵌套在ScrollView中,ListView的适配器adapter中的getView执行次数重复问题
- android中scrollview的使用
- Android中ScrollView的用法
- android 中ScrollView的使用
- Android 中ScrollView的使用
- Android学习札记36:一个关于onSaveInstanceState ()方法的例子
- java多态性中关于private的一个例子
- C#中关于集合的一个小例子
- C语言中关于指针数组的一个例子
- C#中关于委托练习的一个例子
- 叶子节点单链表
- 关于Unity3D中Resources动态加载NGUI图片的方法!!!
- 搭建Storm集群
- 讲解SQL Server 2008开启远程连接
- 关于NGUI的动态加载后的刷新显示问题,解决办法!!
- android中一个关于ScrollView的例子
- [搜索] ZOJ1002、ZOJ1008、ZOJ1019、POJ1011
- 关于Unity3D中狗屎的编码格式化警告,解决办法!!!
- DM36x IPNC OSD显示中文 --- 基础知识篇
- 无操作系统的计算机系统架构
- SQL Server 2008 R2如何开启数据库的远程连...
- 解决同一个activity里面监听器和dialog的监听器冲突问题
- C++读写CSV文件
- ARM汇编指令集