androidview高度
① android view怎麼獲取高度
在Android開發過程中,有時需要獲取View繪制前的高度或者寬度,一種的可能情形是初始化的時候讓某個View的Visible = Gone的,當觸發某個事件的時候需要它顯示並且希望有一些動畫效果。
這時候就要獲取這個View顯示前即繪制前的寬度或者高度。原理很簡單,View的繪制過程發生之前,會先執行onMeasure方法。那麼就可以利用反射來獲取需要的值。下面給出獲取高度的代碼,寬度同理。
private int getTargetHeight(View v) {
try {
Method m = v.getClass().getDeclaredMethod("onMeasure", int.class,
int.class);
m.setAccessible(true);
m.invoke(v, MeasureSpec.makeMeasureSpec(
((View) v.getParent()).getMeasuredWidth(),
MeasureSpec.AT_MOST), MeasureSpec.makeMeasureSpec(0,
MeasureSpec.UNSPECIFIED));
} catch (Exception e) {
}
return v.getMeasuredHeight();
}
拿到這個高度之後就可以做想做的動畫效果或者是其他的事情了。
② android怎麼改變view的高度
這樣的思路不太對啊 ,如果需要再添加其他的view最好是把keyboardview和你說的候選欄放在一個layout如LinearLayout 或是RelativeLayout里,再去調整位置和高度等。
getHeight在繪制之前是只會返回0的。如果只是單純需要重新定義view的高度,最好通過LayoutParams來改變裡面的width 和height參數
LayoutParams lp = view.getLayoutParams();
lp.width = 110;
lp.height = 500;
view.setLayoutParams(lp);
view.invidate();
③ android 自定義view的高度設置問題
GridView mGrid= (GridView) findViewById(R.id.gridview);
LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams) mGrid.getLayoutParams(); // 取控制項mGrid當前的布局參數
linearParams.height = 75;// 當控制項的高強制設成75象素
mGrid.setLayoutParams(linearParams); // 使設置好的布局參數應用到控制項mGrid2
④ Android中如何在代碼中設置View的寬和高
LayoutParams params = mWebViewHeader.getLayoutParams(); params.height = height; params.width = LayoutParams.FILL_PARENT; mWebViewHeader.setLayoutParams(params);
⑤ android textview高度與字型大小高度不一致
高度和字型大小大小肯定是對不上號的。高度一般會大於實際字型大小的大小,舉個簡單的例子,比如:lg,這兩個字,能看出來字的上下是有一個padding值的。因為l與g上下沒有有對齊。同樣的 Android中的字體大小是可以設置為PX的。SP只是為了適應不同解析度進行的一個縮放,而如果設置了px 那麼就不會進行縮放了。不同解析度下看起就會不一樣了。
⑥ android中如何計算scrollview的高度
安卓中的ScrollView組件只允許一個子View,可以利用這一個特性,獲取子View的高度即所要的ScrollView的整體高度, 方法如下:
scrollView.getChildAt(0).getHeight();
當然很多問題也可以在CSDN論壇中找到答案哈~
⑦ android webview 高度如何計算的
1. 通過webview的didFinishLoad:方法,這個時候webview已經載入完成,可以獲得真實高度。
2. 通過js來獲取實際頁面的高度,獲取的時機也通過js來監聽。
3. 通過檢測webView.scrollView.contentSize,只要這個值發生改變,你馬上就能夠被通知。注冊觀察者的代碼類似這樣:
[webView.scrollView addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew
context:&webViewContext]
然後在觀察者中實現- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context,你就隨時可以監測到webView的高度變化了
⑧ 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單位。
⑨ android 自定義view 怎麼設置其寬度和高度
自定義View 可以設置iji的布局,
1.在布局中設置寬高
2.在ondraw方法中繪制的view設置寬高
3.LayoutInflater設置寬高