【发布时间】:2016-01-11 10:39:16
【问题描述】:
我以编程方式创建了 textviews,并将其添加到我的布局中,但我有一个问题。我无法在我的 textviews 之间填充。这是我的来源
private class DigitView extends TextView {
public DigitView(Context context) {
this(context, null);
}
public DigitView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public DigitView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// If selected draw the accent
if (isSelected()) {
this.setBackgroundResource(R.drawable.background_border);
}
else
{
this.setBackgroundResource(R.drawable.background_border_unselect);
}
}
}
这是我的 xml 代码(我在这个布局中添加了我的文本视图)
<LinearLayout
android:id="@+id/my_Container_child"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
</LinearLayout>
for (int i = 0; i < mDigits; i++) {
digitView= new DigitView(getContext());
digitView.setWidth(valueInPixels);
digitView.setHeight(valueInPixels);
digitView.setTextColor(Color.GREEN);
digitView.setTextSize(mDigitTextSize);
digitView.setGravity(Gravity.CENTER);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
digitView.setElevation(mDigitElevation);
}
childView.addView(digitView);
}
正如我所说,我可以在我的布局中添加 4 个文本视图(mDigits 为 4),但我无法在我的文本视图之间添加填充 我怎样才能解决我的问题?如果有人知道解决方案,请帮助我 谢谢大家
【问题讨论】:
-
来自docs:“填充可用于将视图内容偏移特定数量的像素。”因此 在 视图之间不存在填充。还有“即使视图可以定义填充,但它不提供对边距的任何支持。但是,视图组提供了这样的支持。有关详细信息,请参阅 ViewGroup 和 ViewGroup.MarginLayoutParams。”