Android(安卓)View中的setMeasuredDimension方法
16lz
2021-01-24
继承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不会有作用。
更多相关文章
- Phonegap开发Android版本的二维码扫码
- 修改Android(安卓)hosts文件
- Android开发:javah的使用方法
- SwipeRefreshLayout在onCreate使用setRefreshing(true)无效
- android setting 設置<二>
- Android中设置全屏和屏幕常亮方法
- Android(安卓)顶级视图DecorView的前世今生
- android获取手机cpu是单核还是多核的方法
- Android中NDK的so文件产生和使用