Вопрос по раскладке Android - PullRequest
0 голосов
/ 29 июля 2011

Что я делаю не так в следующем.также ниже приведены мои вопросы

1.В одном файле main.xml могут быть две линейные компоновки или компоновки сказки

2.Вниз по нажатию кнопки 1 я установил видимость linearlayout1 на «Невидимый», ноэтого не происходит

super.onCreate(savedInstanceState);
setContentView(R.layout.main);



Button g_gal =(Button)findViewById(R.id.button1);
final LinearLayout tr1 =(LinearLayout)findViewById(R.id.linearLayout1);
final LinearLayout tr2 =(LinearLayout)findViewById(R.id.linearLayout2);
tr2.setVisibility(View.INVISIBLE);

final Button g_gal =(Button)findViewById(R.id.button1);
g_gal.setOnClickListener(new OnClickListener() {

    public void onClick(View arg0) {


        try {
                    tr2.setVisibility(View.VISIBLE);
                    tr1.setVisibility(View.INVISIBLE);


        }
        catch (Exception e) 
        {
            Toast.makeText(getApplicationContext(),"Exception while displaying gallery: "+ e, Toast.LENGTH_SHORT).show();
        }
    }
 });

main.xml

  <?xml version="1.0" encoding="utf-8"?>
   <LinearLayout android:orientation="vertical" android:id="@+id/linearLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content">
    <Button android:text="Browse Gallery" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>

   </LinearLayout>
   <LinearLayout android:id="@+id/linearLayout2" android:layout_width="wrap_content" android:layout_height="wrap_content">
      <EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content">
         <requestFocus></requestFocus>
      </EditText>
      <Button android:text="Send SMS to Nav" android:id="@+id/sms" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
      <Button android:text="Back" android:id="@+id/back1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>


   </LinearLayout>

Ответы [ 4 ]

2 голосов
/ 29 июля 2011

Допустимый XML-файл может иметь только один корень, поэтому вы не можете иметь два линейных макета в качестве корневых элементов. Создайте другой макет, который содержит эти два макета как дочерние.

0 голосов
/ 04 апреля 2013

Для вопроса 2. Вместо того, чтобы установить вид невидимым, установите видимость на Вид.Перейти

final LinearLayout tr1 =(LinearLayout)findViewById(R.id.linearLayout1);
tr1.setVisibility(View.Gone)

Это лучше для макета. Обратитесь к Android View doc для более подробной информации.

0 голосов
/ 29 июля 2011

1.Добавьте все остальные макеты под первый LinearLayout. Теперь вы просто заканчиваете LinearLayout после добавления LinearLayout и Button

2. Чтобы скрыть раскладку tr1, попробуйте скрыть дочерний элемент

int count=tr1.getChildCount();
         for(int i=0;i<count;i++)
             tr1.getChildAt(i).setVisible(false);
0 голосов
/ 29 июля 2011

main.xml

  <?xml version="1.0" encoding="utf-8"?>
   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:orientation="vertical" android:id="@+id/linearLayout0" android:layout_width="wrap_content" android:layout_height="wrap_content">
   <LinearLayout android:orientation="vertical" android:id="@+id/linearLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content">
    <Button android:text="Browse Gallery" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>

   </LinearLayout>
   <LinearLayout android:id="@+id/linearLayout2" android:layout_width="wrap_content" android:layout_height="wrap_content">
      <EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content">
         <requestFocus></requestFocus>
      </EditText>
      <Button android:text="Send SMS to Nav" android:id="@+id/sms" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
      <Button android:text="Back" android:id="@+id/back1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
   </LinearLayout> 

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...