Java android,屏幕底部的ImageView

Java android,屏幕底部的ImageView,java,android,imageview,Java,Android,Imageview,试图在屏幕底部放置一个图像视图,+合适的宽度 合适的宽度是可以的,但图像的高度太低,接近其高度的一半 猜测:Imageview的Y是否基于中心 请不要使用“布局”解决方案,我需要的是X、y、高度、宽度解决方案。:) (在iOS中非常简单) 为什么不这样设置: RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)imageV.getLayoutParams(); params.addRule(RelativeLayou

试图在屏幕底部放置一个图像视图,+合适的宽度

合适的宽度是可以的,但图像的高度太低,接近其高度的一半

猜测:Imageview的Y是否基于中心

请不要使用“布局”解决方案,我需要的是X、y、高度、宽度解决方案。:)

(在iOS中非常简单)


为什么不这样设置:

RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)imageV.getLayoutParams();
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);

imageV.setLayoutParams(params); 

@Udi Idan是对的,但是如果你仍然想使用X,Y,width,height的解,那么也许你可以试试这个

    int width = screenW;
    int height = 80;
    final ImageView imageView = new ImageView(this);
    LayoutParams params = new LayoutParams(width, height);
    imageView.setLayoutParams(params);
    imageView.setBackgroundResource(R.drawable.ic_launcher);
    layout.addView(imageView);

    imageView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

        @Override
        public void onGlobalLayout() {
            imageView.setX(0);
            imageView.setY(layout.getMeasuredHeight() - imageView.getMeasuredHeight()
                    - imageView.getPaddingBottom() - imageView.getPaddingTop());
        }
    });

p/S:我尝试了一些代码,比如你的示例,但得到了错误的结果,也许我们需要计算ActionBar的高度。你可以试试。

谢谢你的建议,但是,理想情况下,我想学习如何使用X、y、高度和宽度解决方案。你可以这样做,但这不是Android的最佳实践。请记住,iOS的工作方式不同。
    int width = screenW;
    int height = 80;
    final ImageView imageView = new ImageView(this);
    LayoutParams params = new LayoutParams(width, height);
    imageView.setLayoutParams(params);
    imageView.setBackgroundResource(R.drawable.ic_launcher);
    layout.addView(imageView);

    imageView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

        @Override
        public void onGlobalLayout() {
            imageView.setX(0);
            imageView.setY(layout.getMeasuredHeight() - imageView.getMeasuredHeight()
                    - imageView.getPaddingBottom() - imageView.getPaddingTop());
        }
    });