2017-06-21 124 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