继承View,实现自己想要的组件,那么需要使用到setMeasuredDimension这个方法,这个方法决定了当前View的大小,请看代码:

View的代码:

package cc.mdev.test;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.text.TextPaint;import android.util.AttributeSet;import android.util.Log;import android.view.View;public class MyScrollView extends View {public MyScrollView(Context context, AttributeSet attrs) {super(context, attrs);}public MyScrollView(Context context) {super(context);}@Overrideprotected void onDraw(Canvas canvas) {TextPaint paint = new TextPaint();paint.setAntiAlias(true);canvas.drawColor(Color.GRAY);for (int i = 10; i < 500; i++) {canvas.drawText("This is the scroll text.", 10, i, paint);i = i+15;}}@Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {String tag="onMeasure";Log.e(tag, "Scroll View on measure...");setMeasuredDimension(200, 800);}@Overrideprotected void onScrollChanged(int l, int t, int oldl, int oldt) {String tag = "onScrollChanged";Log.e(tag, "Scroll....");super.onScrollChanged(l, t, oldl, oldt);}}




布局文件:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#fff" > <Button android:text="Button01" android:id="@+id/Button01" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent"> <cc.mdev.test.MyScrollView android:layout_width="wrap_content" android:layout_height="wrap_content"/> </ScrollView> </LinearLayout> 



效果就是自定义视图的大小为
200, 800,并且放入到ScrollView中,ScrollView会启作用,如果不使用setMeasuredDimension这个方法,那么
ScrollView不会有作用。

更多相关文章

  1. Phonegap开发Android版本的二维码扫码
  2. 修改Android(安卓)hosts文件
  3. Android开发:javah的使用方法
  4. SwipeRefreshLayout在onCreate使用setRefreshing(true)无效
  5. android setting 設置<二>
  6. Android中设置全屏和屏幕常亮方法
  7. Android(安卓)顶级视图DecorView的前世今生
  8. android获取手机cpu是单核还是多核的方法
  9. Android中NDK的so文件产生和使用

随机推荐

  1. Android开发指南中文版(七)Content Provide
  2. Android View底层到底是怎么绘制的
  3. Android测试入门篇
  4. Android开发者e周报 第2期
  5. Android日记之2012\01\18
  6. Android System Server大纲之LightsServi
  7. 用两张图告诉你,为什么你的App会卡顿?
  8. Android白虹剑之EditView之非法输入
  9. opencl 和Renderscript总结
  10. android项目--超级简单的android通讯录