Как я могу прокрутить пользовательский вид в Android - PullRequest
1 голос
/ 15 июня 2011

Извините, мой английский плохой, но мне нужны в вашей помощи мужчины.Я создал пользовательский пакет представления com.gwprogram;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.drawable.ShapeDrawable;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.Toast;

public class DrawCanvasView extends View{

    Section[] sections;
    String authorName;
    String title;
    String copyright;

    public DrawCanvasView(Context context) { 
        super(context); 
        setFocusable(true);
    }

    public void setAttributes(Section[] sections, String authorName,
                                String title, String copyright) {
        this.sections=sections;
        this.authorName=authorName;
        this.title=title;
        this.copyright=copyright;
        invalidate();
    }

    @Override 
    protected void onDraw(Canvas canvas) { 
         //Some code for draw sections and other attributes
    } 
}

В Activity я создал этот код:

package com.gwprogram;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.ScrollView;
import android.widget.Toast;

    public class Main extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            DrawCanvasView canvView=new DrawCanvasView(this);
            canvView.setBackgroundColor(Color.WHITE);
            setContentView(canvView);
            NoteSheet sheet=new NoteSheet(canvView);
            sheet.draw();        
        }
    }

Но изображение очень большое, и мне нужно в режиме прокрутки для DrawCanvasView.Помогите мне, я не знаю, как создать представление прокрутки в моей ситуации.Спасибо.

Ответы [ 2 ]

2 голосов
/ 15 июня 2011

Вы можете сделать это, добавив что-то вроде этого в свой XML:

 <ScrollView android:layout_width="wrap_content" android:layout_height="wrap_content">
<...>
 </ScrollView>

Или вы можете сделать это, как сказал CaspNZ.

0 голосов
/ 15 июня 2011

Добавьте ScrollView в качестве родительского элемента верхнего уровня представления следующим образом:

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

    ScrollView scrollView  = new ScrollView(this);
    setContentView(scrollView);

    View view = new View(this);
    view.setBackgroundColor(Color.WHITE);

    scrollView.addView(view);
}

Вы можете сделать это в xml, вы знаете ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...