View [Android / Kotlin]上不必要的填充或边距

时间:2018-11-23 05:50:41

标签: android android-layout view

我不知道我要去哪里错了,我在哪里弄错了

我使用布局检查器捕获布局

  

我的视图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

enter image description here

问题是卡片视图在顶部和左侧出现不必要的填充或边距

enter image description here

MyView大小符合预期。...

enter image description here

CardView的大小符合预期,但此处的背景图位置不正确,因为您可以在上图中找到

0 个答案:

没有答案