我不知道我要去哪里错了,我在哪里弄错了
我使用布局检查器捕获布局
我的视图XML文件
<?xml version="1.0" encoding="utf-8"?>
<package.MyView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp">
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardCornerRadius="6dp"
android:background="#FFF"
android:foregroundGravity="center"
app:cardElevation="6dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/text"
android:gravity="center"
android:inputType="textMultiLine"
android:ems="10" android:padding="4dp"/>
</android.support.v7.widget.CardView>
</package.MyView>
MyView.kt
class MyView :RelativeLayout
{
constructor(context: Context?) : super(context)
constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs)
constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr)
override fun onAttachedToWindow() {
super.onAttachedToWindow()
/*var Anim:Animation = AnimationUtils.loadAnimation(this.context,R.anim.card_flip_left_in)
this.animation=animation
animation.start()*/
// this.setPadding(10,10,10,10)
val animation = AnimationUtils.loadAnimation(this.context, R.anim.slide_right_in)
animation.startOffset = 0
this@MyView.startAnimation(animation)
}
override fun onDraw(canvas: Canvas?) {
super.onDraw(canvas)
}
override fun onDetachedFromWindow() {
super.onDetachedFromWindow()
}
}
slide_right_in.xml 动画文件
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="100%p" android:toXDelta="0" android:duration="2000"/>
</set>
问题:当背景变得平整时,我无法弄清为什么它会在Cardview背景的顶部和底部增加边距或填充。
测试完成:模拟器和Real Device Vivo V7 Plus
问题是卡片视图在顶部和左侧出现不必要的填充或边距
MyView大小符合预期。...
CardView的大小符合预期,但此处的背景图位置不正确,因为您可以在上图中找到