A. android中的動畫可以改變一個view的高和寬嗎
android中有三種動畫類型,分別是TweenAnimation, FrameAnimation和PropertyAnimation。
要在視覺上改變view的高和寬,只是視覺
一:可以使用TweenAnimation類型的縮放動畫ScaleAnimation,但是通過實踐可以發現雖然視覺上view控制項是增大或者縮小了,但是觸摸范圍還是原來的大小,真正意義上的寬高也就是getMeasureWidth和getMeasureHeight的值並不會改變,所以不符合要求
二:使用PropertyAnimation,屬性動畫就是通過改變控制項的屬性來達到動畫的效果,所以根據需求屬性動畫是合適的
示例代碼如下
java">Viewview;
ObjectAnimatoranimator=ObjectAnimator.ofFloat(view,"scaleY",1f,2f);
animator.setDuration(1000);
animator.start();
上面代碼的效果就是讓view的高度拉伸一倍
只要是控制項的setXXX方法可以改變view就可以使用,比如setTranslationX,setScrollY等等方法
B. android 自定義view 的高度,寬度怎麼設置
Android中View是顯示控制項,需要用一個layout布局來裝載,layout尺寸大寫的設置如下:
1. 盡量使用wrap_content、match_parent、weight 來規定layout的大小。
2. 要確保布局的靈活性並適應各種尺寸的屏幕,應使用 「wrap_content」 和 「match_parent」 控制某些視圖組件的寬度和高度。
3. 使用 「wrap_content」,系統就會將視圖的寬度或高度設置成所需的最小尺寸以適應視圖中的內容,而 「match_parent」(在低於 API 級別 8 的級別中稱為「fill_parent」)則會展開組件以匹配其父視圖的尺寸。
4. 如果使用 「wrap_content」 和 「match_parent」 尺寸值而不是硬編碼的尺寸,視圖就會相應地僅使用自身所需的空間或展開以填滿可用空間。此方法可讓布局正確適應各種屏幕尺寸和屏幕方向。
5. 如果某些地方必須要規定控制項的大小,那麼要使用dp 或者 dip單位。