[英]How can i set double height to Imageview programmatically?
圖像視圖以編程方式獲取int值,但在某個時間高度計算為double,因此任何人都有建議哪一個過程。 我搜索但沒有得到確切的解決方案
這是我的代碼:
//--------calculate width and height
int final_width;
double final_height;
final_width = width - 40;
final_height = ((final_width) * (0.75));
Log.e("final height",""+final_height);
imageView.getLayoutParams().width = Utility.pxToDp(final_width,mContext);
imageView.getLayoutParams().height = Utility.pxToDp(final_height,mContext);
也許
final_height=final_height+final_height
這就是我要做的事情,以獲得高度的2倍效果。
int的最大范圍從2147483647 -2147483648變化。 所以int就足夠了,你不需要雙倍。 否則,您可以將值轉換為int。
int intVal = (int) Math.floor(val);
其中val的值=某些浮點數。
最后我得到了一個解決方案,這是代碼,以幫助任何人
DisplayMetrics displayMetrics = new DisplayMetrics();
mContext.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int height = displayMetrics.heightPixels;
int width = displayMetrics.widthPixels;
Log.e("width",width+""+height);
//--------calculate width and height
int final_width;
double final_height;
final_width = width - 40;
final_height = ((final_width) * (0.75));
int height_final = (int) (final_height + 0.5f);
Log.e("final height",""+height_final);
holder.homeFragmentBusinessImageView.getLayoutParams().width = final_width;
holder.homeFragmentBusinessImageView.getLayoutParams().height = height_final;
您可以嘗試使用此代碼,通過編程方式移動布局高度。
private void moveOffScreen() {
DisplayMetrics displaymetrics = new DisplayMetrics();
this.getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int screenHeight = displaymetrics.heightPixels;
int offset = (int) (screenHeight * 0.50); /* percent to move */
LinearLayout.LayoutParams rlParams =
(LinearLayout.LayoutParams) mChart.getLayoutParams();
rlParams.setMargins(0, 0, 0, -offset);
mChart.setLayoutParams(rlParams);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.