Android 以编程方式将TextView添加到LinearLayout时,TextView中的Drawable不显示Correct

Android 以编程方式将TextView添加到LinearLayout时,TextView中的Drawable不显示Correct,android,android-layout,drawable,Android,Android Layout,Drawable,我想以编程方式向垂直线性布局添加一些TextView。 但有一个奇怪的问题: 当我使用setBackgroundDrawable方法将Drawable设置为这些TextView,并以编程方式将其添加到LinearLayout时,TextView的Drawable无法正确显示 只有当我有多个TextView时才会发生这种情况,如果有一个TextView可以正确显示背景绘图 而且,只有在以编程方式添加TextView时才会发生这种情况,在XML Drawable中添加一些TextView也可以 我的

我想以编程方式向垂直线性布局添加一些TextView。 但有一个奇怪的问题: 当我使用setBackgroundDrawable方法将Drawable设置为这些TextView,并以编程方式将其添加到LinearLayout时,TextView的Drawable无法正确显示

只有当我有多个TextView时才会发生这种情况,如果有一个TextView可以正确显示背景绘图

而且,只有在以编程方式添加TextView时才会发生这种情况,在XML Drawable中添加一些TextView也可以

我的代码:

rootView = inflater.inflate(R.layout.fragment, container, false);
linearLinear = (LinearLayout) rootView.findViewById(R.id.ll);
Drawable mDrawable =getActivity().getResources().getDrawable(R.drawable.textview_drawable);


TextView mTextView;
for(int i =0;i<textViewCount;i++)
{
mTextView = new TextView(context);
mTextView.setText(mText.get(i));
mTextView .setBackgroundDrawable(mDrawable);
linearLinear.addView(mTextView);
}
XML可绘制:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle"
    >
    <solid android:color="#ffddf978" />
    <corners
        android:radius="9dp"
        />
    <stroke
        android:width="1dp"
        android:color="#D7D7D7" />

</shape>
出于某种原因,第一个TextView的Drawable不正确,但第二个很好。 我从设备屏幕上拍摄了一些图像:

请帮帮我

对不起,英语不好。

我设法解决了这个问题

问题是使用一个可绘制实例来处理多个大小不同的TextView

这解释了为什么使用单个TextView看起来很好,但使用多个则不行,大小不同,并且添加了最后一个TextView的可绘制对象的大小更改

现在我在TextView的构造函数中使用了Drawable,它成功了

如果你知道得更好,请告诉我。
谢谢。

你也应该发布/res/drawable/textview\u drawable.xml。我发布了,这是一个bug吗?或者我做错事了。挫折;挫折;挫折;挫折;挫折;挫折;挫折;这是打字错误吗?删除空间。尝试使用9补丁图像而不是形状。也可以看看这篇文章