android 重心在文本视图中不起作用

android gravity center not working in textview

我以编程方式创建了 4 个文本视图,并将其添加到我的布局中,我有一个重心问题 属性 而不是 working.i 意思是当我增加我的文本视图的文本大小时重心 Repealed.default文本大小为 14dp 请检查我的代码片段。

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

this is a result

我做错了什么?如果有人知道解决方案请帮助我 谢谢

尝试 this.It 会成功...

<LinearLayout
    android:id="@+id/my_Container"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:gravity="center"
    android:layout_gravity="center"
   >


    <LinearLayout
       android:id="@+id/my_Container_child"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       >
    </LinearLayout>

</LinearLayout>

不要给 textview 固定高度和宽度

我认为这段代码有错误

 DigitView digitView = new DigitView(getContext());
 digitView.setWidth(valueInPixels);
 digitView.setHeight(valueInPixels);