2017-03-29 16 views
1

イメージビューはプログラムによってint値をとりますが、ある時刻ではheightがdoubleで計算されるため、いずれのプロシージャでも1つの提案があります。私は検索が、厳密解を得ることはありませんでした。ここImageviewにプログラムで倍精度高さを設定するにはどうすればよいですか?

は私のコードです:私は高さの2倍の効果を得るために何をするのかザッツ

//--------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); 
+0

キャストダブルint – shagi

答えて

0

は、最後に私はここで解決策を持ってすべての人

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; 
0

おそらく

final_height=final_height+final_height 

0

intの最大範囲は、2147483647 -2147483648です。 intは十分なので、ダブルは必要ありません。それ以外の場合は、値をintに型キャストできます。ヴァルの値は、いくつかのフロート=

int intVal = (int) Math.floor(val); 

0

に助けのためのコードは、あなたはそれがプロ文法によってレイアウトの高さを移動します。このコードを試すことができます。

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); 
    } 
関連する問題