如何以编程方式为Imageview设置双倍高度?

时间:2017-03-29 05:33:10

标签: java android android-layout listview

图像视图以编程方式获取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);

4 个答案:

答案 0 :(得分:0)

也许

final_height=final_height+final_height

这就是我要做的就是在身高上获得2倍的效果。

答案 1 :(得分:0)

int的最大范围为2147483647 -2147483648。所以int就足够了,你不需要双倍。否则,您可以将值转换为int。

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

其中val的值=某些浮点数。

答案 2 :(得分: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;

答案 3 :(得分: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);
    }