Java android две строки и вторая не отображается
У меня такая проблема: есть две строки
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:background="#a1a1a1"
android:text="Главная"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/main1" />
И вторая строка у меня не отображается в приложении.
Что я делаю не правильно?
Ответы (1 шт):
У вас в LinearLayout не указана ориентация. Она может быть либо vertical, либо horizontal. Если не указано, по умолчанию используется горизонтальная ориентация.
У первой вьюшки ширина задана как android:layout_width="match_parent", т.е. она занимает всю доступную ширину родительского элемента. Вот и получается, что второй вьюшке просто не остается места, она как бы находится в невидимой правой части экрана.
Можно исправить явно задав ориентацию как вертикальную. Вторая вьюшка в этом случае отобразится ниже первой.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="top"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#a1a1a1"
android:text="@string/hello_world" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#e1e1e1"
android:text="@string/hello_world" />
</LinearLayout>
Так же заметил, что в одном из TextView вы используете android:layout_width="fill_parent". Значение fill_parent эквивалентно по действию на match_parent, но оно устарело уже очень давно, поэтому лучше используйте второй вариант.