当前位置: 首页 > 知识库问答 >
问题:

Android setMargins不能以编程方式工作

孙梓
2023-03-14
<RelativeLayout>

    ...

    <ImageView
      android:id="@+id/imageView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentLeft="true"
      android:layout_marginLeft="10dp"
      android:layout_marginTop=”11dp”
      android:background=”@drawable/image”  />

</RelativeLayout>

然后我需要以编程方式设置边距:

ImageView imageView = (ImageView) findViewRoot(R.id.imageView1);
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) imageView.getLayoutParams();
params.width = 100;
params.height = 100;
params.setMargins(0,0,0,0); //NOT WORK
imageView.setLayoutParams(params);

ImageView仍然有marginLeft 10和marginTop 11;

共有1个答案

刘才俊
2023-03-14

您是否尝试过制作一个新的LayoutParams?

ImageView imageView = (ImageView) findViewRoot(R.id.imageView1);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
    RelativeLayout.LayoutParams.WRAP_CONTENT,      
    RelativeLayout.LayoutParams.WRAP_CONTENT
);
params.setMargins(0,0,0,0);
imageView.setLayoutParams(params);
 类似资料:
  • 问题内容: 我需要使用python编辑Excel工作簿。有没有这样做的方法,而无需阅读工作簿,编辑我想要的内容并将其写回?即有没有一种方法可以即时进行,因为我只需要在每张纸上编辑几个值? 我已经看过了,和,但他们似乎只支持(据我可以工作),阅读和写作不是编辑。我无法使用,因为我正在使用linux。 对库或特定的工作方式有何建议? 问题答案: xlutils有一个复制模块,可能会与您交错

  • 简短:给定(groupId,artifactId,version,repository URL),我可以用编程方式让Maven解析工件URL吗? Long:给定(groupId、artifactId、version、repository URL),可以下载一个Maven工件。工件的URL通常如下所示: 方案://{repository}/{groupId}/{artifactId}/{versio

  • 问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow的主题。 2年前关闭。 改善这个问题 我需要使用python编辑Excel工作簿。有没有这样做的方法,而无需阅读工作簿,编辑我想要的内容并将其写回?即有没有一种方法可以即时进行,因为我只需要在每张纸上编辑几个值? 我已经看过了,和,但他们似乎只支持(据我可以工作),阅

  • 问题内容: 如何在插件中创建新的Jenkins作业? 我有一个Jenkins插件,可监听消息队列,并在消息到达时触发新事件以创建新作业(或开始运行)。 我正在寻找类似的东西: 我知道我可以使用REST API或CLI,但是由于我在插件中,因此我将使用Java内部解决方案。 问题答案: 您只需执行以下操作即可创建新的hudson / jenkins作业: 如果您希望能够处理更新(并且已经拥有): 不

  • 我正在尝试在Android上添加Wifi网络,我想知道如何连接到不广播其SSID的Wifi网络(它是否有空SSID或带有\0s的清晰SSID)。 这是我目前用于广播其SSID的Wifi网络的内容:

  • 问题内容: 我们可以通过编程方式在自己的Java代码中使用javap吗? 例如,以下代码: 在命令行中使用javap,我们得到了: 我可以使用javap的API仅打印常量池吗? 问题答案: Apache BCEL 提供.class文件解析的封装,该封装提供了一组API。几乎对于.class文件中的每个元素,BECL API中都有一个对应的Class来表示它。因此,从某种角度来说,如果您只想打印出类