Я знаю, это звучит просто. Мне нужно поместить текст в центр, но когда текст слишком длинный, ему нужно пойти ниже, но все же выровнять по центру моего xml.
Здесь мой код:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/showdescriptioncontenttitle"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:layout_centerHorizontal="true"
>
<TextView
android:id="@+id/showdescriptiontitle"
android:text="Title"
android:textSize="35dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
Я помещаю paddingTop и Bottom, потому что мне нужно некоторое пространство. PS: Мой код больше; это в RelativeLayout.
Задайте также параметр android:gravity
в TextView
- center
.
Для тестирования эффектов разных параметров макета я рекомендую использовать разные цвета фона для каждого элемента, чтобы вы могли видеть, как изменяется ваш макет с такими параметрами, как гравитация, макет_гравитации или другие.
используйте этот способ
txt.setGravity(Gravity.CENTER);
используйте этот способ в xml
<TextView
android:id="@+id/myText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Time is precious, so love now."
android:gravity="center"
android:textSize="30dp"
android:textColor="#fff"
/>
Добавление android:gravity="center"
в ваш TextView сделает трюк (будет родительский макет Relative/Linear
)!
Кроме того, вам следует избегать использования dp для размера шрифта. Вместо этого используйте sp.
Вы можете использовать следующее:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/showdescriptioncontenttitle"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:id="@+id/textview1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Your text"
android:typeface="serif" />
</LinearLayout>
Макет должен быть относительным для свойства "center", которое будет использоваться.
добавить layout_gravity и gravity с центральным значением в TextView
<TextView
android:text="welcome text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:gravity="center"
/>