在Java与Xml中设置时,9-patch的行为有所不同

Avi*_*nde 5 java android nine-patch android-9.0-pie

使用java设置9-patch时,它会略微垂直拉伸,而通过XML设置则非常完美.

设置代码:

  button.setBackgroundDrawable();
Run Code Online (Sandbox Code Playgroud)

垂直边缘变得拉伸> 垂直边缘是拉伸的

在XML中设置:

<Button
    android:id="@+id/btn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/btn_normal"
    android:drawableLeft="@drawable/btn_mainmenu"
    android:gravity="center"
    android:paddingLeft="10dp"
    android:paddingRight="20dp"
    android:text="Menu" />
Run Code Online (Sandbox Code Playgroud)

这是预期的> 这是预料之中的

注意:我知道变通方法,但需要知道是否有任何这种行为的原因.