getIntrinsicWidth和getWidth的區別

2025-03-21 18:10:15 字數 2353 閱讀 2472

1樓:網友

getwidth在oncreat的時候得到的是0。因為當顫檔乙個view物件創隱襪建時,android並不知道其大小,所以getwidth()和 getheight()返回的結果是0,真正大小是在計算佈局時才會計算,所以會發現乙個有趣的事,即在ondraw( )卻能取得長寬的原因。

那怎麼在oncreat 的時候得到呢?

width = ;

height = ;

getmeasuredwidth必須在parent view或者它自己呼叫measure()函式之後才能得到茄攜亂。 measure函式就是計算該函式需要佔用的空間大小。同理在設定view的長寬的時候,setwidth()很多情況下在oncreate方法中呼叫也會失效,要想設定成功,可以這樣:

int www = ,;

int hhh = ,;

hhh);或者: = 100

為什麼view中的getwidth()和getheight()值為

2樓:網友

在view的建構函式中獲取getwidth()和getheight()

當乙個view物件建立時,android並不知道其大小,所以getwidth()和getheight()返回的結果是0,真正大小是在計算佈局時才能計算出來,所以會發現乙個有趣的事,即在ondraw( )卻能取得長寬的原因。

getintrinsicwidth()幹啥用的?

3樓:匿名使用者

getwidth在oncreat的時候得到的是0。

因為當乙個view物件建立時,android並不知道其大小,所以getwidth()和 getheight()返回的結果是0,真正大小是在計算佈局時才會計算,所以會發現乙個有趣的事,即在ondraw( )卻能取得長寬的原因。

4樓:匿名使用者

有什麼用,得看需求 了 。。

drawable 中getintrinsicwidth其獲得的是怎樣的寬度

5樓:匿名使用者

在imageview中的image,可以使用getwidth()和getheight()來獲取寬度和高度,但是獲得的image寬度和高度不是很精確的;對於背景**,你首先要獲取攜盯背景的drawable物件,然後將drawable物件轉換為bitmapdrawable,這樣你就可以將背景友如**作為bitmap物件並獲取其寬度和高度了。**如下:bitmap b = bitmapdrawble);int w = ;int h = ;or do like this ; bitmap b = ;int w = ;int h = ;或者也可以像下面辯告和這樣:

bitmap b = ;int w = ;int h = ;上面的**僅僅可以為你獲取當前imageview的大小:;;如果你要獲取drawable image物件的大小,可用如下**:drawable d = getresources().

getdrawable(; int h = ;int w = ;

android為什麼在不同的工程環境中,drawable.getintrinsicwidth取到的值會不一樣?**和**都是同乙個

6樓:古蘭舊約

一下子試一下。

2.可能你import匯入了 這樣子你用的是系統的r檔案。

可以把這個import去掉就可以了。

7樓:輕飄飄的雪

難道是介面卡模式的**的關係。

8樓:網友

這個值跟手機密度有關係。

怎麼拿到 drawable 的 寬高

9樓:網友

在imageview中的image,可以使用getwidth()和getheight()來獲取寬度和高度,但是獲得的image寬度和高度不是很精確的;對於背景**,你首先要獲取背景的drawable物件,然後將drawable物件轉換為bitmapdrawable,這樣你就可以將背景**作為bitmap物件並獲取其寬度和高度了。**如下:bitmap b = ((bitmapdrawble); int w = ; int h = ; or do like this ; bitmap b = ; int w = ; int h = ; 或者也可以像下面這樣; bitmap b = ; int w = ; int h = ; 上面的**僅僅可以為你獲取當前imageview的大小; ;如果你要獲取drawable image物件的大小,可用如下**:

drawable d = getresources().getdrawable(; int h = ; int w = ;