„Android“: kaip gauti individualų aukščio ir pločio vaizdą?

Galimas dublikatas:
Kaip nustatyti „Android“ dydį pagal tėvų dydį

kaip naudotis getMeasuredWidth() ir getMeasuredHeight ? Jis visada grąžina 0. Kokie yra skirtumai tarp šio ir getHeight() ir getWidth() ?

59
02 нояб. nustatė Rohith Nandakumar 02 lapkričio. 2010-11-02 07:35 '10, 7:35 val. 2010-11-02 07:35
@ 7 atsakymai

Atsiprašome, šis klausimas jau buvo užduotas. Radau atsakymą čia - kaip pritaikyti „Android“ vaizdą pagal savo tėvų dydį

 @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int parentWidth = MeasureSpec.getSize(widthMeasureSpec); int parentHeight = MeasureSpec.getSize(heightMeasureSpec); this.setMeasuredDimension(parentWidth, parentHeight); super.onMeasure(widthMeasureSpec, heightMeasureSpec); } 
49
02 нояб. atsakymas, kurį pateikė Rohith Nandakumar . 2010-11-02 08:17 '10, 08:17, 2010-11-02 08:17

Tai buvo tik sprendimas gauti pasirinktinio rodinio aukštį ir plotį:

 @Override protected void onSizeChanged(int xNew, int yNew, int xOld, int yOld){ super.onSizeChanged(xNew, yNew, xOld, yOld); viewWidth = xNew; viewHeight = yNew; } 

Jo darbas yra mano atveju.

50
15 марта '12 в 14:11 2012-03-15 14:11 atsakymą įteikė Paresh Mayani kovo 15 d. 14 val. 11:11 2012-03-15 14:11

Nebandykite gauti jų dizainerio viduje. Pabandykite juos skambinti onDraw() metodu.

13
02 нояб. atsakymas duotas Mozz 02 lapkričio. 2010-11-02 08:18 '10, 08:18, 2010-11-02 08:18

Pavyzdžiui, norėdami gauti vaizdo plotį ir aukštį, galite naudoti šį metodą:

 int height = yourView.getLayoutParams().height; int width = yourView.getLayoutParams().width; 

Tai suteikia konvertuotos peržiūros vertės, nurodytos XML išdėstyme.

Tarkime, jei nurodyta aukščio vertė yra 53dp XML, konvertuojamąją vertę gausite sveikuoju skaičiumi kaip 80.

12
17 марта '12 в 19:02 2012-03-17 19:02 atsakymas buvo pateiktas Sam kovo 17 d. 12 val. 2012-02-17 19:02

Aš taip pat buvo prarasta aplink getMeasuredWidth() ir getMeasuredHeight() getHeight() ir getWidth() ilgą laiką .......... vėliau aš rasiu onSizeChanged() metodą tikrai naudinga.

Naujas dienoraščio įrašas: kaip gauti „Android“ http://syedrakibalhasan.blogspot.com/2011/02/how-to-get-width-and-height-dimensions.html

8
27 февр. atsakė Syed Rakib Al Hasan , vasario 27 d 2011-02-27 23:35 '11, 23:35, 2011-02-27 23:35

Skirtumas tarp getHeight() ir getMeasuredHeight() yra tas, kad pirmasis metodas grąžina faktinį „ View aukštį, antrasis grąžina bendrą „ View aukštį. getHeight() oter, getHeight() grąžina vaizdo aukštį, getMeasuredHeight() grąžina aukštį, kuris turėtų būti rodomas visiems šiems elementams.

5
25 сент. Atsakymas pateikiamas OFFmind Sep 25 2012-09-25 17:03 '12, 17:03 2012-09-25 17:03

Geras „getheight“ gauna aukštį ir plotį. Tačiau tuos metodus skambinate per greitai. Jei skambinate juos įsijungus arba persiunčiant, rodinys dar nėra parengtas. Turite jį skambinti po to, kai vaizdas buvo nufotografuotas.

1
02 нояб. Falmarri atsakymas 02 lapkričio. 2010-11-02 07:45 '10, 7:45 am 2010-11-02 07:45

Žr. Kitus klausimus apie žymų „ arba užduokite klausimą