2017-07-12 6 views
0

このコードでは、4つのボタンを所定のサイズで表示し、テキストビューで残りのスペースを使用します。このコードはアンドロイドスタジオのデザイナーで正しく表示されているが、デバイス上ではtextviewはレイアウトウェイトの代わりにwrapcontentプロパティをとるようです。私は何かが欠けていましたかデザイナーで正しくレンダリングされているときにデバイス上で線形配置の問題が発生する

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/bg_now_playing" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@color/primaryColor" 
    android:orientation="vertical" 
    tools:ignore="RtlHardcoded" 
    android:baselineAligned="false"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:alpha="0.7" 
     android:background="@color/miniplayer_color" 
     android:orientation="vertical"> 


     <!--few components--> 
     <LinearLayout 
      android:id="@+id/bottom_controls" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"> 

      <LinearLayout 
       android:id="@+id/options" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="@color/now_playing_extra_options_bg" 
       android:gravity="center_vertical" 
       android:orientation="horizontal"> 

       <ImageView 
        android:id="@+id/nowplaying_favourites" 
        android:layout_width="@dimen/nowplaying_icon_dimension" 
        android:layout_height="@dimen/nowplaying_icon_dimension" 
        android:layout_marginLeft="@dimen/nowplaying_button_padding" 
        android:src="@drawable/favorite_icon" /> 

       <ImageView 
        android:id="@+id/download_btn" 
        android:layout_width="@dimen/nowplaying_icon_dimension" 
        android:layout_height="@dimen/nowplaying_icon_dimension" 
        android:layout_margin="@dimen/nowplaying_button_padding" 
        android:src="@drawable/download_icon" /> 

       <ImageView 
        android:id="@+id/now_playing_share_btn" 
        android:layout_width="@dimen/nowplaying_icon_dimension" 
        android:layout_height="@dimen/nowplaying_icon_dimension" 
        android:layout_marginRight="@dimen/nowplaying_button_padding" 
        android:src="@drawable/share_icon" /> 

       <views.CustomTextView 
        android:id="@+id/caller_tune" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" 
        android:background="@drawable/roundcorner_white" 
        android:fontFamily="@string/roboto_regular" 
        android:text="@string/tune" 
        android:textAlignment="center" 
        android:textColor="@color/miniplayer_color" 
        android:textSize="@dimen/button_text_size" 
        android:textStyle="bold" /> 

       <ImageView 
        android:id="@+id/equalizer_now_playing" 
        android:layout_width="@dimen/nowplaying_icon_dimension" 
        android:layout_height="@dimen/nowplaying_icon_dimension" 
        android:layout_margin="@dimen/nowplaying_button_padding" 
        android:gravity="right" 
        android:src="@drawable/equalizer_icon" /> 

      </LinearLayout> 

     </LinearLayout> 

     <!--few more components--> 
    </LinearLayout> 
</LinearLayout> 

答えて

1

カスタムビューで問題が発生する可能性があります。私はちょうどtextviewを配置したので、うまくいきました。ここに、サンプルのアイコンとサンプルのコードがあります。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/bg_now_playing" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@android:color/darker_gray" 
android:baselineAligned="false" 
android:orientation="vertical" 
tools:ignore="RtlHardcoded"> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:alpha="0.7" 
    android:background="@color/colorPrimary" 
    android:orientation="vertical"> 


    <!--few components--> 
    <LinearLayout 
     android:id="@+id/bottom_controls" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 

     <LinearLayout 
      android:id="@+id/options" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@android:color/white" 
      android:gravity="center_vertical" 
      android:orientation="horizontal"> 

      <ImageView 
       android:id="@+id/nowplaying_favourites" 
       android:layout_width="30dp" 
       android:layout_height="30dp" 
       android:layout_marginLeft="4dp" 
       android:src="@android:drawable/ic_delete" /> 

      <ImageView 
       android:id="@+id/download_btn" 
       android:layout_width="30dp" 
       android:layout_height="30dp" 
       android:layout_marginLeft="4dp" 
       android:src="@android:drawable/ic_delete" /> 

      <ImageView 
       android:id="@+id/now_playing_share_btn" 
       android:layout_width="30dp" 
       android:layout_height="30dp" 
       android:layout_marginLeft="4dp" 
       android:src="@android:drawable/ic_delete" /> 

      <views.CustomTextView 
       android:id="@+id/caller_tune" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:background="@drawable/roundcorner_white" 
       android:fontFamily="@string/roboto_regular" 
       android:text="@string/tune" 
       android:textAlignment="center" 
       android:textColor="@color/miniplayer_color" 
       android:textSize="@dimen/button_text_size" 
       android:textStyle="bold" /> 

      <ImageView 
       android:id="@+id/equalizer_now_playing" 
       android:layout_width="30dp" 
       android:layout_height="30dp" 
       android:layout_marginLeft="4dp" 
       android:gravity="right" 
       android:src="@android:drawable/ic_delete" /> 

     </LinearLayout> 

    </LinearLayout> 

    <!--few more components--> 
</LinearLayout> 

+0

あなたの活動のリニアレイアウトの親のレイアウトは何でもテキストビュー – Ankit

+0

では動作しませんか? –

+0

親は線形レイアウトのみです。問題で更新されたコードスニペット。 – Ankit

関連する問題