0

如何在布局上放置 TextView 取决于代码中 TextView 的中心?默认情况下,我们可以根据其左上角创建它。方法 setGravity(Gravity.CENTER_HORIZONTAL) 没有帮助。

编辑

我想将 TextViews 放在圆圈中。对于我使用RelativeLayout。在layot TextViews 中以某个角度步长放置在for 循环中。这里有一些代码

    for (int i = 0; i < 62; i++) {
        TextView word = new TextView(context);
        word.setTextSize(13);
        // word.setGravity(Gravity.CENTER_HORIZONTAL);
        word.setTextColor(Color.BLACK);
        RotateAnimation rotateAnimation = new RotateAnimation(0,
                angle.get(i), 0, (float) (textHeight * 0.9 + rotateCircle));
        rotateAnimation.setFillAfter(true);
        rotateAnimation.setDuration(100);
        rotateAnimation.setStartOffset(100);

        word.setAnimation(rotateAnimation);
        word.setGravity(Gravity.CENTER);
        word.setPadding(10, 10, 10, 10);

        RelativeLayout.LayoutParams layoutparams = new RelativeLayout.LayoutParams(
                LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        layoutparams.leftMargin = Math.round(x_coords.get(i));

        layoutparams.topMargin = (int) (Math.round(y_coords.get(i)
                - textHeight * 0.9 - rotateCircle));
        textviews.add(word);

        words_layout.addView(word, layoutparams);
    }
4

2 回答 2

0

使用android:layout_gravity = CENTER_HORIZONTAL使文本视图居中。

于 2012-12-30T06:18:01.430 回答
0

a的重力TextView控制其内容(文本)的对齐方式,而不是视图本身在布局中的对齐方式。要控制布局View中的对齐方式,请改用属性或.android::layout_gravitygravityLayoutParams

于 2012-12-29T23:44:08.063 回答