我想以编程方式将一些TextView添加到Vertical LinearLayout。 但是有一个奇怪的问题: 当我将Drawable设置为这些TextViews(使用setBackgroundDrawable()方法)并以编程方式将它们添加到LinearLayout时,TextView的Drawable无法正确显示。
这只发生在我有多个TextView时,如果有一个Background Drawable正确显示。
这也只发生在我以编程方式添加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 Drawable:
<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不正确但第二个很好。 我从设备屏幕上拍摄了一些图像:
http://i61.tinypic.com/1zd5cu9.png
http://i58.tinypic.com/2nby79e.png
请帮帮我!
抱歉英语不好。答案 0 :(得分:0)
我设法解决这个问题!
问题是 使用可绘制实例用于不同大小的多个TextView。
这解释了为什么使用单个TextView看起来很好但不是多个,大小不同,并且添加了最后一个TextView的Drawable对象的大小更改。
现在我在TextView的构造函数中使用了Drawable,它工作正常!。
如果你知道更好,请告诉我。 谢谢。