如何以編程方式設置ImageView
的寬度和高度?以編程方式設置ImageView寬度和高度?
回答
它可能爲時已晚,但對於其他人誰也有同樣問題的緣故,要設置的ImageView的高度:
image_view.getLayoutParams().height = 20;
希望這有助於。
重要。如果你設置的高度後佈局已經「佈局」,請確保您也稱:
image_view.requestLayout()
如果您在佈局已經「佈置」之後設置高度,請確保您調用image_view.requestLayout() – 2013-08-06 16:10:43
答案應該被編輯以包含由@Skripi的附錄 – hosolmaz 2014-03-19 23:19:50
如果我需要wrap_content呢? – 2014-12-26 20:30:23
如果你的圖像視圖是動態的,含getLayout將失敗,空異常的答案。
在這種情況下,正確的方法是:
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(100, 100);
iv.setLayoutParams(layoutParams);
如果我把這個代碼我的圖像消失。爲什麼?\t \t \t \t ImageView的imgLogo =新ImageView的(本); \t \t \t \t \t \t \t \t imgLogo.setImageDrawable(標識); \t \t \t \t LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(32,32); \t \t \t \t imgLogo.setLayoutParams(的LayoutParams); \t row.addView(imgLogo); – 2012-05-27 22:40:43
感謝這個答案,讓我走上正軌。作爲補充說明,應將LinearLayout設置爲圖像的父視圖類型。例如,如果您的圖像視圖位於圖庫中,則應該使用圖庫佈局參數而不是LinearLayout,否則您將會投射異常。 – dubj 2012-06-01 18:34:41
@MustafaGüven我有同樣的問題,因爲你,我的'ImageView'消失。關鍵是使佈局部分(即,'
這種簡單的方式做你的任務:如果你想給屏幕尺寸在高度和寬度,然後使用
setContentView(R.id.main);
ImageView iv = (ImageView) findViewById(R.id.left);
int width = 60;
int height = 60;
LinearLayout.LayoutParams parms = new LinearLayout.LayoutParams(width,height);
iv.setLayoutParams(parms);
和另一種方式以下代碼:
setContentView(R.id.main);
Display display = getWindowManager().getDefaultDisplay();
ImageView iv = (LinearLayout) findViewById(R.id.left);
int width = display.getWidth(); // ((display.getWidth()*20)/100)
int height = display.getHeight();// ((display.getHeight()*30)/100)
LinearLayout.LayoutParams parms = new LinearLayout.LayoutParams(width,height);
iv.setLayoutParams(parms);
希望對你充滿希望。
image_view.getLayoutParams().height
以像素爲單位返回高度值。您需要先獲取屏幕尺寸才能正確設置值。
Display display = context.getWindowManager().getDefaultDisplay();
DisplayMetrics outMetrics = new DisplayMetrics();
display.getMetrics(outMetrics);
int screen_height = outMetrics.heightPixels;
int screen_width = outMetrics.widthPixels;
後你在屏幕尺寸,你可以使用適當的利潤設置ImageView的寬度&高度。
view.getLayoutParams().height = screen_height - 140;
view.getLayoutParams().width = screen_width - 130 ;
設置一個按鈕的最佳和最簡單的方法是動態地
Button index=new Button(this);
int height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 45, getResources().getDisplayMetrics());
int width = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 42, getResources().getDisplayMetrics());
上面的高度和寬度以像素爲單位PX。 45是dp中的高度,42是dp中的寬度。因此,例如,如果您已將按鈕放置在TableLayout的TableRow中,則應將其作爲TableRow。的LayoutParams
index.setLayoutParams(new TableRow.LayoutParams(width, height));
如果您需要在您的寬度或高度設置爲match_parent
(大如其父)或wrap_content
(足夠大,以適應自身的內部內容),然後ViewGroup.LayoutParams
有這兩個常量:
imageView.setLayoutParams(
new ViewGroup.LayoutParams(
// or ViewGroup.LayoutParams.WRAP_CONTENT
ViewGroup.LayoutParams.MATCH_PARENT,
// or ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.MATCH_PARENT));
或者你可以將它們像Hakem Zaied的answer:
imageView.getLayoutParams().width = ViewGroup.LayoutParams.MATCH_PARENT;
//...
osm .... ................... – 2017-12-20 07:43:02
只需創建一個對象的LayoutParams並將其分配給您的ImageView的
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(150, 150);
imageView.setLayoutParams(params);
我打了這一個與pixel
和dp
。
view.getLayoutParams().height = dimensionInPixel;
view.getLayoutParams().width = dimensionInPixel;
view.requestLayout();
如何通過DP設置:
int dimensionInDp = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dimensionInPixel, getResources().getDisplayMetrics());
view.getLayoutParams().height = dimensionInDp;
view.getLayoutParams().width = dimensionInDp;
view.requestLayout();
希望這會幫助你
private int dimensionInPixel = 200;
如何通過像素設置。
我將如何爲特定的DP值(即不是從像素轉換成DP)做到這一點? – alxcyl 2016-11-16 05:08:42
您可以爲所有情況設置值。
demoImage.getLayoutParams().height = 150;
demoImage.getLayoutParams().width = 150;
demoImage.setScaleType(ImageView.ScaleType.FIT_XY);
- 1. 以編程方式設置Imageview高度和寬度
- 2. 以編程方式設置寬度Imageview
- 3. 以編程方式在窗口小部件上設置ImageView寬度和高度
- 4. 以編程方式創建ImageView的寬度和高度
- 5. 以編程方式設置GestureOverlayView的寬度和高度?
- 6. 的ImageView消失試圖設置寬度和高度時,編程
- 7. 以編程方式設置寬度/視圖高度
- 8. Android:如何以編程方式設置ImageView的寬度TableRow
- 9. 以編程方式提高ImageView亮度
- 10. 如何以編程方式設置自定義視圖的寬度和高度?
- 11. 設置自定義組件高度/寬度編程方式
- 12. 以編程方式更改Textview的高度和寬度
- 13. 以編程方式更改UIImageView Xcode的高度和寬度Swift
- 14. 以編程方式獲取佈局的高度和寬度
- 15. 如何在這裏設置ImageView和TextView的寬度和高度?
- 16. 以編程方式設置數據庫中圖像的高度/寬度
- 17. 設置視圖的寬度和高度編程方式或通過XML
- 18. iOS故事板:設置ImageView的寬度和高度不工作
- 19. 設置位圖前獲取ImageView寬度和高度
- 20. 設置寬度和高度時,imageview消失
- 21. 如何設置ImageView的高度和寬度活動的Android
- 22. 是否可以通過編程方式設置UIView的高度和寬度而不設置原點?
- 23. ImageView寬度= 0.75x屏幕寬度和高度= 1.5 x新的ImageView寬度XML
- 24. 以編程方式更改ColorBox的寬度/高度onClick
- 25. 使用來自MySQL的數據以編程方式設置ImageView的高度
- 26. imageView中的位圖高度和寬度
- 27. 如何更改ImageView高度和寬度
- 28. ImageView比例和寬度/高度變化
- 29. Android ImageView動態寬度和高度
- 30. 鈦ImageView的動畫寬度和高度
奇怪的是,這個信息很難找到。這個問題值得更多的讚揚。 – phunehehe 2012-02-24 07:16:04
任何人都爲來自另一個平臺而掙扎的腳註。 **「適合尺寸和形狀」**選項在Android中處理得非常漂亮;但很難找到。您通常希望寬度匹配父,高度換行內容,** adjustViewBounds打開**,縮放** fitToCenter **和cropToPadding ** false **。那麼它是自動的。我真的希望它能幫助別人! – Fattie 2014-05-21 07:38:24
@JoeBlow - 謝謝你!您爲我節省了很多時間 – mango 2015-02-24 08:49:33