2015-07-25 6 views
1

Я разрабатываю приложение для Android в этом, я использую макет, который содержит один основной макет, называемый «приглашение_ингл», и два вспомогательных макета, а именно «скрытые» и «скрытые1», когда я нахожусь onclick основные значения компоновки исчезли, что отлично работает, после чего мне нужно увидеть видимые значения подмаскинга в этом месте, я пытаюсь использовать код ниже, но отображаются только скрытые значения, но мне нужно отображать как значения макета, так и Это должно быть сделано. Может кто-нибудь мне помочь.значения макета не видны

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:divider="?android:dividerVertical" 
     android:showDividers="middle" 
     android:dividerPadding="5dp" 
     android:id="@+id/invitation_single" 
     tools:context=".MainActivity" > 

     <ImageButton 
      android:id="@+id/image" 
      android:layout_width="@dimen/contact_image" 
      android:layout_height="50dp" 
      android:src="@drawable/ic_action_event" /> 

       <TextView 
       android:id="@+id/invitation_title" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:textColor="@color/black" 
       android:paddingLeft="5dp" 
       android:paddingRight="0dp" 
       android:paddingTop="3dp" 
       android:textSize="18sp" 
       android:textStyle="bold" 
       /> 

      <TextView 
       android:id="@+id/invitation_place" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:textColor="@color/black" 
       android:textSize="15sp" 
       android:paddingLeft="5dp" 
       android:paddingRight="0dp" 
       /> 
      <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="100dp" 
      android:layout_weight="1" 
      android:clickable="false" 
      android:paddingTop="1dp" 
      android:visibility="gone" 
      android:focusable="true" 
      android:orientation="horizontal" 
      android:weightSum="3" 
      android:id="@+id/hidden" 
      > 


      <Button 
       android:id="@+id/yesbutton" 
       android:background="@color/blue" 
       android:layout_width="78dp" 
       android:layout_height="wrap_content" 
       android:textColor="@color/black" 
       android:text="Yes" 
       android:layout_marginTop="50dp" 
       android:layout_weight="1" 
       android:layout_marginRight="30dp"> 
      </Button> 
      <Button 
       android:id="@+id/nobutton" 
       android:background="@color/blue" 
       android:textColor="@color/black" 
       android:layout_width="62dp" 
       android:layout_height="wrap_content" 
       android:text="No" 
       android:layout_marginTop="50dp" 
       android:layout_weight="1" 
       android:layout_marginRight="30dp"> 
      </Button> 
      <Button 
       android:id="@+id/buttonmaybe" 
       android:background="@color/blue" 
       android:textColor="@color/black" 
       android:layout_width="100dp" 
       android:layout_height="wrap_content" 
       android:text="Maybe" 
       android:layout_marginTop="50dp" 
       android:layout_weight="1" 
       android:layout_marginRight="32dp"> 
      </Button> 
      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="50dp" 
       android:layout_weight="1" 
       android:clickable="false" 
       android:focusable="true" 
       android:visibility="gone" 
       android:orientation="vertical" 
       android:id="@+id/hidden1" 
       > 
       <TextView 
        android:id="@+id/title" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:textColor="@color/black" 
        android:paddingLeft="5dp" 
        android:paddingRight="0dp" 
        android:paddingTop="3dp" 
        android:textSize="18sp" 
        android:textStyle="bold" 

        /> 

       <TextView 
        android:id="@+id/place" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textColor="@color/black" 
        android:textSize="15sp" 
        android:paddingLeft="5dp" 
        android:paddingRight="0dp" 
        android:textStyle="bold" 
        /> 
     </LinearLayout> 

    </LinearLayout> 
     </LinearLayout> 

ниже код мой Java-код, основной макет «приглашение одного», «скрытый» мой первый sublayout и «hidden1» является второй sublayout, когда РМКО OnClick основного макета, который должен исчезнуть и суб значения макета должны быть видимыми, но когда я нажимаю основной макет, макет «скрытый» остается видимым, но мне нужно видеть оба макета.

final LinearLayout first=(LinearLayout)convertView.findViewById(R.id.invitation_single);//main layout 
       final LinearLayout second = (LinearLayout)convertView.findViewById(R.id.hidden);//sub layout1 
       final LinearLayout third = (LinearLayout)convertView.findViewById(R.id.hidden1);//sub layout2 
        first.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         int visibility = second.getVisibility(); 
         int visibility1=third.getVisibility(); 
          if (visibility == View.GONE) 
          third.setVisibility(View.VISIBLE); 
          second.setVisibility(View.VISIBLE); 

          } 

       }); 
+0

Почему вы используете конвертер? это фрагмент? отправить еще код –

+0

да это фрагмент. –

+0

@selvasimonp Пожалуйста, проверьте мой ответ в своем последнем вопросе –

ответ

0

Во-первых, форматирование вашего макета XML беспорядочно!


        Bad форматирования                                               делает ваш               Co
де

                            трудно К Субъективная       d,                        , что делает его ди
                        ffic     ии                             найти

                                              и затруднительное лет         ur ошибки !!!

Форматирование вашего XML-кода упрощает просмотр того, что происходит, для вас и для нас.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:divider="?android:dividerVertical" 
    android:showDividers="middle" 
    android:dividerPadding="5dp" 
    android:id="@+id/invitation_single" 
    tools:context=".MainActivity" > 

    <ImageButton 
     android:id="@+id/image" 
     android:layout_width="@dimen/contact_image" 
     android:layout_height="50dp" 
     android:src="@drawable/ic_action_event"/> 

    <TextView 
     android:id="@+id/invitation_title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textColor="@color/black" 
     android:paddingLeft="5dp" 
     android:paddingRight="0dp" 
     android:paddingTop="3dp" 
     android:textSize="18sp" 
     android:textStyle="bold"/> 

    <TextView 
     android:id="@+id/invitation_place" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textColor="@color/black" 
     android:textSize="15sp" 
     android:paddingLeft="5dp" 
     android:paddingRight="0dp"/> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="100dp" 
     android:layout_weight="1" 
     android:clickable="false" 
     android:paddingTop="1dp" 
     android:visibility="gone" 
     android:focusable="true" 
     android:orientation="horizontal" 
     android:weightSum="3" 
     android:id="@+id/hidden"> 

     <Button 
      android:id="@+id/yesbutton" 
      android:background="@color/blue" 
      android:layout_width="78dp" 
      android:layout_height="wrap_content" 
      android:textColor="@color/black" 
      android:text="Yes" 
      android:layout_marginTop="50dp" 
      android:layout_weight="1" 
      android:layout_marginRight="30dp"/> 

     <Button 
      android:id="@+id/nobutton" 
      android:background="@color/blue" 
      android:textColor="@color/black" 
      android:layout_width="62dp" 
      android:layout_height="wrap_content" 
      android:text="No" 
      android:layout_marginTop="50dp" 
      android:layout_weight="1" 
      android:layout_marginRight="30dp"/> 

     <Button 
      android:id="@+id/buttonmaybe" 
      android:background="@color/blue" 
      android:textColor="@color/black" 
      android:layout_width="100dp" 
      android:layout_height="wrap_content" 
      android:text="Maybe" 
      android:layout_marginTop="50dp" 
      android:layout_weight="1" 
      android:layout_marginRight="32dp"/> 

     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="50dp" 
      android:layout_weight="1" 
      android:clickable="false" 
      android:focusable="true" 
      android:visibility="gone" 
      android:orientation="vertical" 
      android:id="@+id/hidden1"> 

      <TextView 
       android:id="@+id/title" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:textColor="@color/black" 
       android:paddingLeft="5dp" 
       android:paddingRight="0dp" 
       android:paddingTop="3dp" 
       android:textSize="18sp" 
       android:textStyle="bold"/> 

      <TextView 
       android:id="@+id/place" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:textColor="@color/black" 
       android:textSize="15sp" 
       android:paddingLeft="5dp" 
       android:paddingRight="0dp" 
       android:textStyle="bold"/> 

     </LinearLayout> 
    </LinearLayout> 
</LinearLayout> 

Структура макета

  • Корневой макет invitation_single не определил никакой ориентации, так что это будет по умолчанию горизонтальны.
  • Горизонтальный invitation_single макет имеет 4 прямых детей.
  • 1-й прямой ребенок image установлен на фиксированную ширину.
  • Ширины следующих двух invitation_title и invitation_place установлены на wrap_content.
  • 4-й прямой ребенок - LinearLayout под названием hidden.
    • Ориентация этого LinearLayout также горизонтальная.
    • Ширина устанавливается как match_parent
    • layout_weight устанавливается как 1. Это расположение будет заполнить оставшуюся доступную ширину пространства
    • weightSum для этой горизонтальной LinearLayout установлено значение 3.
    • Эта горизонтальная LinearLayout имеет 4 прямых детей.
    • Первые 3 ребенка - это кнопки.
      • Каждой из 3-х кнопок назначена фиксированная ширина.
      • Каждый из 3-х кнопок, также присваивается layout_weight из 1.
      • Веса 3 кнопки уже добавить до weightSum в LinearLayout они находятся.
    • 4-й прямой ребенок LinearLayout hidden1.
      • Ориентация этого LinearLayout вертикальна.
      • Ширина устанавливается как 0dp
      • layout_weight устанавливается как 1. Предыдущие 3 кнопки уже использовали всю доступную ширину пространства, так hidden1 останется с шириной 0dp, что означает, что вы не увидите Это.

Посмотрите на примеры в этом блоге Android, LinearLayout Distribution Explained (weight and sizes), чтобы получить лучшее понимание того, как layout_weight работ.

Смежные вопросы