2016-06-02 2 views
0

У меня есть активность в приложении для Android. Он отображает представление (скажем CurrentView) с кнопкой в ​​центре экрана. Я устанавливаю содержание активности, используя: setContentView (R.layout.layout_xml_file); Макет xml-файла определяет кнопку.Как отобразить представление поверх другого представления в той же деятельности

Мое требование состоит в том, что, когда пользователь нажимает на кнопку, мне нужно показать другой вид (скажем NewView), содержащий списокView on Current View. NewView переход должен произойти следующим образом: Он должен начинаться со дна экрана и должен занимать некоторую долю экрана, скажем, 3/4 или 1/2. Я имею в виду, что высота представления должна быть настраиваемой. Этот NewView должен быть в том же виде. Я не хочу создавать другое действие для его отображения. Я не понимаю, какой виджет для Android должен использовать для хранения NewView

Спасибо. Ваша помощь оценивается ...

ответ

2

Возьмите относительную компоновку в соответствии с нижней и установите ее высоту, что вы хотите, и внутри. Относительная компоновка. Возьмите Listview после того, как setVisibility ушел. И при нажатии кнопки в действии setVisibility Visible.

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/activity_main" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".MainActivity"> 


    <Button 
     android:text="Button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="128dp" 
     android:id="@+id/button" /> 

    <RelativeLayout 
     android:id="@+id/rel" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_centerHorizontal="true" 
     android:background="#f0f0f0" 
     android:layout_below="@+id/button" 
     android:visibility="gone"> 

     <ListView 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" 
      android:divider="#000" 
      android:dividerHeight="1dp"/> 
    </RelativeLayout> 
</RelativeLayout> 
+0

Как добавить относительную компоновку в currentView. –

+0

спасибо, это сработало красиво .. –

0

возможно использовать FrameLayout для обоих представлений родительского макета. Первоначально список должен быть нежизнеспособным, а кнопка видна.

2
  1. использование LinearLayout - layout_weight атрибут в layout.xml
  2. View.setVisibility (View.VISIBLE или View.GONE)
Смежные вопросы