簡體   English   中英

在Android應用程序上未在xml定義的框架布局中顯示圖像視圖

[英]Image-view not showing in xml defined Frame-Layout on Android application

我在xml中定義了一個框架布局,如下所示:

//pseudo code
<FrameLayout
android:height = "match_parent" // same for width
android:background="@android:color/white"
padding = "20dp"
id = "polygraph"
layout_gravity="center"/>

我通過這樣的代碼訪問此xml視圖:

LayoutInflater inflater = this.getLayoutInflater();
frameInflate = (FrameLayout) inflater.inflate(R.layout.mframe,null);
frar = (FrameLayout)frameInflate.findViewById(R.id.polygraph);

我動態創建了以下圖像視圖,但以某種方式未在此框架布局內顯示,該框架布局是另一個框架布局內的許多視圖之一,其中包含我的用戶界面的所有視圖

view1 = new ImageView(this);
view1.setAdjustViewBounds(false);
matrix = new Matrix();
view1.setScaleType(ImageView.ScaleType.Matrix);//I have tried: ScaleType.Center it did not work at all
view1.setImageMatrix(matrix);
view1.setBackgroundColor(Color.GRAY);
params11= new FrameLayout.LayoutParams(200,300,Gravity.CENTER);
view1.setLayoutParams(params11);
DummyDraw drawD = new DummyDraw(this);
view1.setImageDrawable(drawD);

frar.addView(view1);

//somewhere down on onWindowsFocusChange()
frar.invalidate();  //try to invalidate to see if it will show the imageview

完全沒有圖像視圖。 我嘗試了不同的方法,例如:

frar.addView(view1,params11); //did not work
//instead of view1.setImageDrawable
view1.setBackground(drawD); //nothing
view1.setImageResource(R.drawable.somerandomdrawable);//nothing

我不知道為什么這個視圖沒有顯示。 可能是可繪制的“ drawD”嗎? 如果它是可繪制的,那么為什么至少不顯示我在代碼中設置的背景顏色“灰色”? 我試圖將ScaleType.Matrix替換為其他東西,例如ScaleType.Center,但似乎沒有任何效果。

任何意見或建議將不勝感激

謝謝

幾個月前,我遇到了同樣的問題。 但是我確實忘記了如何處理它。 不需要LayoutInflater即可解決問題。 似乎我無法在onCreate()“(FrameLayout)findViewById(R.id.polygraph)”內進行此調用,然后嘗試將以編程方式創建的圖像視圖添加到xml布局元素中。 它一直給我一個空指針異常。

在布局通過后將兩個調用都移動,例如onStart()或onWindowsFocusChanged()效果很好。 圖像視圖被添加到xml框架布局中,最終它對我的應用程序非常有效,因為我打算將圖像視圖添加到布局遍歷之外。

暫無
暫無

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

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