[英]CustomView not showing inside ScrollView
新的 Android 程序員在這里。
我正在嘗試在 Android 上將 .png 圖像顯示為位圖。 我能夠顯示轉換后的圖像的唯一方法是使用擴展View
的自定義類。 但是,我的圖像太大而無法完全顯示在屏幕上,我希望能夠滾動它。 但是當我定義一個ScrollView
並將帶有Bitmap
的Canvas
放入其中時,我得到了一個空白屏幕。 我沒有運氣用布局文件設置它,所以這一切都是在 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.