установка детей ViewFlipper в центре - PullRequest
1 голос
/ 27 февраля 2012

Я добавляю динамическое текстовое представление для просмотра флиппера, как показано ниже.Все работает отлично, но как я могу центрировать каждый вид текста в центре View Flipper, я искал вариант гравитации, но я думаю, что он не поддерживает.Поскольку текстовое представление содержит различную длину текста, я хочу, чтобы каждое текстовое представление было в центре флиппера.

 for(int i = 0; i < 10; i++){
    TextView tv = new TextView(this);
    vf.addView(tv, i);
}

Спасибо

Ответы [ 5 ]

3 голосов
/ 27 февраля 2012

Я думаю, что это может помочь:

    ViewFlipper flipper = new ViewFlipper(this);

    TextView textView = new TextView(this);
    textView.setGravity(Gravity.CENTER);
    textView.setText("Hello World");

    flipper.addView(textView);
    setContentView(flipper);
1 голос
/ 06 декабря 2012

Попробуйте установить ширину ViewFlippers в xml как

    android:layout_width="wrap_content"

У меня была похожая проблема, и она работала нормально.

1 голос
/ 27 февраля 2012

Вы говорите о гравитации, которую мы можем установить таким образом, или о гравитации макета, которую вы пробовали на самом деле?

tv.setGravity(Gravity.CENTER);
0 голосов
/ 28 февраля 2012

Хорошо, я получил ответ, на самом деле вам нужно добавить linearlayout в viewflipper, а затем добавить детей в linearlayout с параметром гравитации для линейного макета.

0 голосов
/ 27 февраля 2012

Вы можете сделать это так,

        TextView tv = new TextView(this);
        LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
        param.gravity = Gravity.CENTER;
        tv.setLayoutParams(param);
...