【发布时间】:2015-10-15 11:45:50
【问题描述】:
我以编程方式创建了 4 个文本视图并将其添加到我的布局中,我有一个问题重心属性不起作用。我的意思是当我增加文本视图的文本大小时,重心被废除。默认文本大小为 14dp 请检查我的代码 sn-p。
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.pincode_background_border_select);
}
else
{
this.setBackgroundResource(R.drawable.pincode_background_border_unselect);
}
}
}
for (int i = 0; i < mDigits; i++) {
DigitView digitView = new DigitView(getContext());
digitView.setWidth(valueInPixels);
digitView.setHeight(valueInPixels);
digitView.setTextColor(Color.WHITE);
digitView.setTextSize(mDigitTextSize);
digitView.setGravity(Gravity.CENTER);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
digitView.setElevation(mDigitElevation);
}
LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
if (i > 0) {
lp.leftMargin = 10; // margin goes here. Use marginStart instead to support right-to-left layouts
}
childView.addView(digitView, lp);
}
这是我的布局 xml 代码
<LinearLayout
android:id="@+id/my_Container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
>
<LinearLayout
android:id="@+id/my_Container_child"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</LinearLayout>
</LinearLayout>
my_Container_child is my layout
我做错了什么?如果有人知道解决方案,请帮助我 谢谢
【问题讨论】:
-
向LinearLayout添加布局重力属性
-
您希望textView 中的文本居中还是linearLayout 中的textView 居中?还有哪个布局是childView?
-
@yogi 我更新了我的问题。请查看我的结果图片
-
@ShadowDroid Droidi 更新了我的问题。请查看我的结果图片
-
为 textview 提供 wrap_content 属性的高度和宽度,我认为它会起作用