gpt4 book ai didi

android - 如何以编程方式读取 ImageView 边距?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:52:00 25 4
gpt4 key购买 nike

我有一个写在布局文件中的 ImageView,看起来像这样

<LinearLayout 
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">

<ImageView android:id="@+id/news_image"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_marginLeft="18dip"
android:layout_marginRight="18dip"
android:background="#aaaaaa" />

</LinearLayout>

如何读取 Activity 中的 android:layout_marginLeft 属性?

我尝试了以下代码,但我的 ImageViewLayoutParams 没有任何边距成员(例如 LinearLayout.LayoutParams 有) .

ImageView imageView = (ImageView)findViewById(R.id.news_image);
LayoutParams lp = imageView.getLayoutParams();

int marginLeft = lp.marginLeft; // DON'T do this! It will not work
// cause there is no member called marginLeft

关于如何从 ImageView 获取边距有什么建议吗?

谢谢!

最佳答案

您必须将 LayoutParams 转换为特定于 View 所在布局的类型。也就是说,作为您在 LinearLayout 中的 View ,您将必须执行以下操作:

ImageView imageView = (ImageView)findViewById(R.id.news_image);
LinearLayout.LayoutParams lp =
(LinearLayout.LayoutParams) imageView.getLayoutParams();

现在 lp 将允许您访问 margin* 字段。

关于android - 如何以编程方式读取 ImageView 边距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4884980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com