簡體   English   中英

CustomView 未顯示在 ScrollView 中

[英]CustomView not showing inside ScrollView

新的 Android 程序員在這里。

我正在嘗試在 Android 上將 .png 圖像顯示為位圖。 我能夠顯示轉換后的圖像的唯一方法是使用擴展View的自定義類。 但是,我的圖像太大而無法完全顯示在屏幕上,我希望能夠滾動它。 但是當我定義一個ScrollView並將帶有BitmapCanvas放入其中時,我得到了一個空白屏幕。 我沒有運氣用布局文件設置它,所以這一切都是在 Activity 類中完成的。

這是創建活動的地方:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ScrollView scroll = new ScrollView(this);
    scroll.addView(new CustomView(this));
    setContentView(scroll);
}

這是我的 CustomView 類:

private class CustomView extends View{

    public CustomView(Context context) {
        super(context);
    }

    @Override
    protected void onDraw(Canvas canvas){
        Bitmap bitmapMap = BitmapFactory.decodeResource(getResources(),R.drawable.resourceimage);
        canvas.drawBitmap(bitmapMap,0,0,null);
        this.setWillNotDraw(false);
    }
}

如果我將 Activity: setContentView(scroll)中的這行代碼替換為這一行: setContentView(new CustomView(this)) ,我可以看到圖像,盡管不是整個圖像。 那么,有沒有辦法在布局文件中進行設置呢? 或者有什么我需要在ScrollView類中聲明的東西嗎?

編輯:我不想使用 ImageView,因為我想更改特定位置的圖像,並且使用位圖似乎是通過 x 和 y 坐標實現這一目標的最簡單方法。

您的自定義視圖需要覆蓋onMeasure方法並正確設置測量的寬度和高度,以便父視圖(在本例中為ScrollView )可以知道為子視圖分配多少空間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM