Tag: margin

父级保证金更改后,Android子级宽度错误

我有一个animation,我必须将cardView从水平边缘状态扩展到无边距状态。 国家如下: 折叠状态:保证金开始和结束4 dp 扩张状态:无保证金 要做到这一点,我做了以下(在Kotlin): val anim = object : Animation() { override fun applyTransformation(interpolatedTime: Float, t: Transformation?) { val thisLp = layoutParams as MarginLayoutParams val newMargin = maxHorizontalMargin – (maxHorizontalMargin * interpolatedTime).toInt() thisLp.setMargins(newMargin, 0, newMargin, 0) this.layoutParams = thisLp }} 一切都按预期工作,除非视图完全展开,则子项的全宽(定义为MATCH_PARENT)不是全角,而是在开始和结束时都有一个边距。 我的赌注是,作为最初的父视图状态有边距,并且只有在展开之后,边距消失了,绘制的儿童的最大宽度才会更新,因此会缩短预期。 如何克服这一点?

如何使用代码设置ImageView的边距,而不是xml

我想添加一个未知数量的ImageView视图到我的布局与保证金。 在XML中,我可以像这样使用layout_margin : <ImageView android:layout_margin="5dip" android:src="@drawable/image" /> 有ImageView.setPadding() ,但没有ImageView.setMargin() 。 我认为这是沿着ImageView.setLayoutParams(LayoutParams) ,但不知道该怎么喂。 有人知道吗?