2017-06-21 95 views
0

您好我有在android xml中布局分配的问题。在相对布局中对布局的权利分配 - android,

主布局是相对布局。整个屏幕由ExoPlayer占用,这三个元素放置在播放器上。 在图片上蓝色线性布局和它应该需要1/3的屏幕高度。 的绿色布局(线性)应该采取屏幕高度的1/9和红色线性应该也需要在屏幕的1/3。 enter image description here

我试图使用权重,但不幸的是我的方法不起作用,我收到警告,可能会影响应用程序的性能。

请你能帮我实现这个设计吗?

感谢

编辑:

<?xml version="1.0" encoding="utf-8"?> 

<data> 

    <import type="android.view.View" /> 

    <import 
     alias="position" /> 

    <variable 
     name="vm"/> 
</data> 

<RelativeLayout 
    android:id="@+id/master_layoout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 


    <com.google.android.exoplayer2.ui.SimpleExoPlayerView 
     android:id="@+id/player_view" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:focusable="true" 
     android:layoutMode="@{vm.fullScreen}" 
     android:player="@{vm.player}" 
     app:use_controller="false" /> 

    <!-- STARTof menu layout--> 
    <LinearLayout 
     android:layout_alignParentTop="true" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:weightSum="9"> 
     <View 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="2"/> 

    <LinearLayout 
     android:id="@+id/menu_layout" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/info" 
     android:layout_alignParentEnd="true" 
     android:background="#000000" 
     android:orientation="vertical" 
     android:paddingLeft="1dp" 
     android:paddingRight="1dp" 
     android:paddingTop="1dp" 
     android:visibility="@{vm.menuVisibility}" 
     android:layout_weight="3"> 

     <LinearLayout 
      android:id="@+id/details" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@{vm.getSelectedCurrentOption == 0 ? @color/selectedMenuItem : @color/unselectedMenuItem }" 
      android:orientation="horizontal"> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_margin="15dp" 
       android:src="@drawable/mockup_icon" /> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginRight="20dp" 
       android:fontFamily="sens-serif" 
       android:paddingEnd="10dp" 
       android:text="DETALJNO" 
       android:textColor="#000000" /> 

     </LinearLayout> 

     <LinearLayout 
      android:id="@+id/favorites" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="1dp" 
      android:layout_marginTop="1dp" 
      android:background="@{vm.getSelectedCurrentOption == 1 ? @color/selectedMenuItem : @color/unselectedMenuItem }" 
      android:orientation="horizontal"> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_margin="15dp" 
       android:src="@drawable/mockup_icon" /> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginRight="20dp" 
       android:fontFamily="sens-serif" 
       android:text="OMILJENI" 
       android:textColor="#000000" /> 

     </LinearLayout> 

     <LinearLayout 
      android:id="@+id/record" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@{vm.getSelectedCurrentOption == 2 ? @color/selectedMenuItem : @color/unselectedMenuItem }" 
      android:orientation="horizontal"> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_margin="15dp" 
       android:src="@drawable/mockup_icon" /> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginEnd="20dp" 
       android:fontFamily="sens-serif" 
       android:text="VRATI NA POCETAK" 
       android:textColor="#000000" /> 

     </LinearLayout> 

     <LinearLayout 
      android:id="@+id/remind_me" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="1dp" 
      android:layout_marginTop="1dp" 
      android:background="@{vm.getSelectedCurrentOption == 3 ? @color/selectedMenuItem : @color/unselectedMenuItem }" 
      android:orientation="horizontal"> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_margin="15dp" 
       android:src="@drawable/mockup_icon" /> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginEnd="20dp" 
       android:fontFamily="sens-serif" 
       android:text="SNIMI" 
       android:textColor="#000000" /> 
     </LinearLayout> 

     <LinearLayout 
      android:id="@+id/return_to_begin" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@{vm.getSelectedCurrentOption == 4 ? @color/selectedMenuItem : @color/unselectedMenuItem }" 
      android:orientation="horizontal"> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_margin="15dp" 
       android:src="@drawable/mockup_icon" /> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginEnd="20dp" 
       android:fontFamily="sens-serif" 
       android:paddingEnd="10dp" 
       android:text="PODSETI ME" 
       android:textColor="#000000" /> 

     </LinearLayout> 
     <!-- end of menu layout--> 

    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/info" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:orientation="vertical" 
     android:layout_weight="1"> 

     <RelativeLayout 
      android:id="@+id/media_control_view" 
      android:layout_width="match_parent" 
      android:layout_height="58dp" 
      android:background="#96000000" 
      android:paddingLeft="10dp" 
      android:paddingRight="10dp" 
      android:visibility="@{vm.getMediaControlView==true ? View.VISIBLE : View.INVISIBLE}"> 

      <ImageView 
       android:id="@+id/channel_icon" 
       android:layout_width="wrap_content" 
       android:layout_height="match_parent" 
       android:layout_alignParentStart="true" 
       android:layout_centerVertical="true" 
       android:layout_gravity="center_vertical" 
       android:src="@{vm.icon}" /> 

      <TextView 
       android:id="@+id/media_title" 
       android:layout_width="wrap_content" 
       android:layout_height="match_parent" 
       android:layout_centerVertical="true" 
       android:layout_marginTop="12dp" 
       android:layout_toEndOf="@+id/channel_icon" 
       android:fontFamily="sens-serif" 
       android:maxLength="50" 
       android:padding="12dp" 
       android:text="@{vm.getTitle}" 
       android:textColor="#f15a29" 
       android:textSize="12sp" /> 

      <ImageView 
       android:id="@+id/play_pause_icon" 
       android:layout_width="wrap_content" 
       android:layout_height="match_parent" 
       android:layout_centerVertical="true" 
       android:layout_toStartOf="@+id/animate_progress_bar" 
       android:src="@drawable/play_icon" /> 

      <com.daasuu.ahp.AnimateHorizontalProgressBar 
       android:id="@+id/animate_progress_bar" 
       android:layout_width="300dp" 
       android:layout_height="2dp" 
       android:layout_centerVertical="true" 
       android:layout_gravity="center_vertical" 
       android:layout_toStartOf="@+id/remaining_time" 
       android:max="@{vm.maxProgress}" 
       android:paddingStart="10dp" 
       android:progress="@{vm.progress}" 
       app:ahp_backgroundColor="#C0C0C0" 
       app:ahp_progressColor="#f15a29" /> 

      <TextView 
       android:id="@+id/remaining_time" 
       android:layout_width="wrap_content" 
       android:layout_height="match_parent" 
       android:layout_centerVertical="true" 
       android:layout_marginEnd="25dp" 
       android:layout_marginTop="12dp" 
       android:layout_toStartOf="@+id/icon_info" 
       android:fontFamily="sens-serif" 
       android:padding="12dp" 
       android:text="@{vm.times}" 
       android:textColor="#D3D3D3" /> 

      <ImageView 
       android:id="@+id/icon_info" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerVertical="true" 
       android:layout_gravity="center" 
       android:layout_toStartOf="@+id/icon_menu" 
       android:src="@drawable/icon_info" /> 

      <ImageView 
       android:id="@+id/icon_menu" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentEnd="true" 
       android:layout_centerVertical="true" 
       android:layout_gravity="center" 
       android:layout_marginEnd="5dp" 
       android:layout_marginStart="10dp" 
       android:src="@drawable/icon_menu" /> 

     </RelativeLayout> 

     <LinearLayout 
      android:id="@+id/additional_info" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:animateLayoutChanges="true" 
      android:background="#80000000" 
      android:orientation="horizontal" 
      android:visibility="@{vm.infoVisibility}" 
      android:weightSum="90" 
      android:layout_weight="3"> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:src="@drawable/cover_image" /> 

      <LinearLayout 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginStart="15dp" 
       android:layout_marginTop="15dp" 
       android:layout_weight="60" 
       android:orientation="vertical"> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:fontFamily="sens-serif" 
        android:text="The Gardian of the Galaxy Vol.2" 
        android:textColor="@color/primary_orange" 
        android:textSize="25sp" /> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:fontFamily="sens-serif" 
        android:text="19:00 - 21:00 | 2017 | Science fiction film/Action | 2h 18m\n" 
        android:textColor="@color/epg_event_layout_text" /> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:fontFamily="sens-serif" 
        android:text="Peter Quill and his fellow Guardians are hired by a power-\nful alien race, the Sovereign, to protect their precious bat-\nteries from invaders. When it is discovered that Rocket\nhas stolen the items they were sent to guard, the Sover-\n" 
        android:textColor="@color/epg_event_layout_text" /> 
      </LinearLayout> 


      <View 
       android:layout_width="3dp" 
       android:layout_height="match_parent" 
       android:layout_marginBottom="15dp" 
       android:layout_marginLeft="15dp" 
       android:layout_marginRight="15dp" 
       android:layout_marginTop="15dp" 
       android:background="#FFFFFF" /> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="15dp" 
       android:fontFamily="sens-serif" 
       android:text="Rezija:\nMajkl Kejn\n\nGLUMCI:\nChris Pratt, Zoe\nSaldana, Dave Bau-\ntista, Bradley\nCooper, Vin Diesel,\nMichael Rooke\n" 
       android:textColor="@color/epg_event_layout_text" /> 

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

回答

0

Layout Weight只能与LinearLayout

使用伟为您的观点提供帮助并进行测试。 documentation中给出的例子非常明了。

+0

dustblue,正如我所说的,我试图用线性布局作为所有这三个元素的包装。但我得到了警告。 – hogar

+0

张贴您的xml代码 – dustblue

+0

请立即检查xml – hogar