У меня есть scrollView

<ScrollView
        android:id="@+id/scrollView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center">

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

И я хочу заполнить его массивом строк, и я хочу, чтобы эти строки были в центре, но почему-то не в центре, а слева.

for (str in arr) {
    val strTextView = TextView(this)
    strTextView.text = str
    strTextView.textSize = 30f
    val params = RelativeLayout.LayoutParams(
        RelativeLayout.LayoutParams.WRAP_CONTENT,
        RelativeLayout.LayoutParams.WRAP_CONTENT
    )
    params.addRule(RelativeLayout.CENTER_HORIZONTAL)
    strTextView.gravity = Gravity.CENTER_HORIZONTAL
    linearLayoutScroll.addView(strTextView, params)
}
0
Anton 8 Сен 2020 в 18:26

1 ответ

Лучший ответ

Вы можете добиться этого, изменив ширину линейного макета matchParent следующим образом:

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

Удачного кодирования

1
Nayan Sarder 8 Сен 2020 в 16:24