две линейные схемы, но только один дисплей

1

Мой родительский макет - это линейный макет, внутри которого я пытаюсь добавить два линейных макета. По какой-то причине. Единственный макет, который будет отображаться, - это линейная компоновка с двумя кнопками, а другая никогда не появляется... любые предложения?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:orientation="vertical">
<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="140dp"
    android:layout_weight="2"
    android:orientation="vertical">
    <TextView
            android:id="@+id/dynamic_actionsText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1" 
            android:text="Text"/>
    <Spinner
            android:id="@+id/dynamic_actionsSpinner"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
</LinearLayout>
<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="240dp"
    android:layout_weight="2"
    android:orientation="vertical">
    <Button android:id="@+id/dynamic_btnSubmit"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1.0"
            android:visibility="gone"/>
    <Button android:id="@+id/dynamic_btnSave"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1.0"
            android:visibility="gone"/>
</LinearLayout>
</LinearLayout>
  • 0
    предоставить полный XML ........
  • 0
    Полный код размещен.
Показать ещё 4 комментария
Теги:
layout
android-linearlayout

2 ответа

0
Лучший ответ

Сначала удалите видимость как ушедшую (как упоминал Дхереш)

Теперь проблема с андроидом: layout_height = "wrap_content".

Поскольку в них нет текстового содержимого, их высота по существу равна 0 (поведение wrap_content)

Добавьте атрибут в качестве андроида: text = "Привет" в обеих кнопках. вы сможете увидеть их сейчас.

Если вы намерены выполнять всю операцию динамически, тогда сделайте следующее:

Button btnSubmit=(Button) findViewById(R.id.dynamic_btnSubmit);
btnSubmit.setText("Submit");
Button btnSave=(Button) findViewById(R.id.dynamic_btnSave);
btnSave.setText("Save");
btnSubmit.setVisibility(VIEW.VISIBLE);
btnSave.setVisibility(VIEW.VISIBLE);
  • 0
    однако он упоминает, что тот, который на самом деле видим, это тот, у которого есть кнопки, так что при условии, что атрибут "wrap_content" ошибочен, тогда ему нужно было наложить фон на код для кнопок, которые занимают большую часть экрана. Но даже если бы это было так, атрибут веса остановил бы это. не так ли?
0
any suggestions?

предложения:

1 - Установите ориентацию по вертикали на родительский элемент LinearLayout.....

2- удалить андроид: видимость = "ушла" из dynamic_btnSubmit и dynamic_btnSave

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="140dp"
        android:layout_weight="2"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/dynamic_actionsText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Text" />

        <Spinner
            android:id="@+id/dynamic_actionsSpinner"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="240dp"
        android:layout_weight="2"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/dynamic_btnSubmit"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1.0" />

        <Button
            android:id="@+id/dynamic_btnSave"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1.0" />
    </LinearLayout>

</LinearLayout>

Изображение 174551

  • 0
    Я попытался эти изменения, но все еще остался только один линейный макет.
  • 0
    смотри отредактированный код работает нормально на моем конце
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню