Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在FrameLayout中将imageview与右下角对齐_Android_Android Layout_Android Imageview_Android Framelayout - Fatal编程技术网

Android 在FrameLayout中将imageview与右下角对齐

Android 在FrameLayout中将imageview与右下角对齐,android,android-layout,android-imageview,android-framelayout,Android,Android Layout,Android Imageview,Android Framelayout,我正在使用下面的代码将imageview与FrameLayout内的右下角对齐,边距为20,10,但它出现在左上角。我哪里出错了 ViewGroup.MarginLayoutParams marginParams = new ViewGroup.MarginLayoutParams(refreshBtn.getLayoutParams()); marginParams.setMargins(0, 0, 20, 10); FrameLayout.LayoutParams layoutPa

我正在使用下面的代码将imageview与FrameLayout内的右下角对齐,边距为20,10,但它出现在左上角。我哪里出错了

 ViewGroup.MarginLayoutParams marginParams = new ViewGroup.MarginLayoutParams(refreshBtn.getLayoutParams());
    marginParams.setMargins(0, 0, 20, 10);
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(marginParams);
layoutParams.gravity=Gravity.RIGHT|Gravity.BOTTOM;
refreshBtn.setLayoutParams(layoutParams);

问题是您正在更改布局重力,这意味着您正在将FrameLayout定位在右下角。但是,框架布局可能会填满整个屏幕,在这种情况下,布局重力实际上不会改变任何东西。想象一本书完全适合放在抽屉里。无论你如何握住抽屉,书都不会在里面移动

您需要做的是使用FrameLayout本身的“setGravity()”方法。这将更改FrameLayout内的实际重力

资料来源:

我的framelayout由许多视图组成,我只想将此imageview放置在右下角。您确定要通过编程将imageview放置在右下角吗?使用XML将其放在右下角会更容易。是的,我必须根据要求按语法更改边距。您不能在XML中定义ImageView的布局重力,但按编程方式设置边距吗?您可以发布更多代码吗?具体来说,您使用的xml是什么?