Android:制作可滚动的自定义视图

前端之家收集整理的这篇文章主要介绍了Android:制作可滚动的自定义视图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经滚动了我自己的自定义视图并可以在屏幕上绘图,但我真正想要做的是将屏幕的测量高度设置为1000px并让用户在Y轴上滚动,但是我我有这样的问题.有人可以帮忙吗?

这是一些代码

public class TestScreen extends Activity  {
     CustomDrawableView mCustomDrawableView;
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);    
         mCustomDrawableView = new CustomDrawableView(this);
         setContentView(mCustomDrawableView);
     }
 }

public class CustomDrawableView extends View {

    public CustomDrawableView(Context context) {
        super(context);
        setVerticalScrollBarEnabled(true);
        setMinimumHeight(1000);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        canvas.drawLine(...);
        // more drawing
    }
}

我试图通过调用super来覆盖scrollTo,scrollBy,awakenScrollBars等,但无济于事.我错过了一些愚蠢的事情,还是我犯了一些根本性的错误

先感谢您,

马丁

加成:

我试图将此作为自定义组件添加到下面的布局文件,并使用setContentView(R.layout.exampleLayout)更改TestScreen中的代码以指向正确的资源,但这会导致模拟器崩溃.我尝试将代码评论到最低限度并且它仍然崩溃,所以我正在做的事情根本就是错误但是我不确定它是什么:

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content">
       <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent">
            <com.martyn.testApp.CustomDrawableView
               android:layout_width="fill_parent"
               android:layout_height="fill_parent"
             />
       </ScrollView>
</LinearLayout>

解决方法

只需将您的视图放在ScrollView中即可!

请注意,ScrollWiew应该是根节点(这是你的LinearLayout)

猜你在找的Android相关文章