2016-03-19 18 views
0

Şu anda iyi bir kullanıcı arabiriminde çalışıyorum. Şimdi buna geldim: enter image description hereDiğer görünümler tarafından oluşturulmuş wrap_content "tam" nasıl kullanılır?

İç kısımdaki muffin ile sol taraftaki "profile_layout" üzerinde sıkışıp kaldım. Sağ taraftaki iki çubuk için wrap_content kullanıyorum.

Ancak, profile_layout iki çubuktan "wrap_content" öğesinin tam yüksekliğini kullanmasına izin vermek zorunda kaldım.

Bunu nasıl çözeceğiniz konusunda herhangi bir fikrin var mı?

<RelativeLayout 
android:id="@+id/top_bar" 
android:layout_width="match_parent" 
android:background="@color/colorPrimaryDark" 
android:layout_height="wrap_content" 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:card_view="http://schemas.android.com/apk/res-auto" 
android:padding="8dp" 
xmlns:app="http://schemas.android.com/tools"> 

<LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@null" 
    > 

    <RelativeLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@null" 
     > 
     <android.support.v7.widget.CardView 
      android:id="@+id/profile_layout" 
      android:layout_width="100dp" 
      android:layout_height="wrap_content" 
      android:layout_margin="4dp" 
      card_view:cardCornerRadius="2dp" 
      card_view:cardElevation="2dp" 
      card_view:cardBackgroundColor="#ffffff" 
      > 

      <com.pkmmte.view.CircularImageView 
       android:layout_width="80dp" 
       android:layout_height="80dp" 
       android:src="@drawable/muffin" 
       android:layout_gravity="center_horizontal" 
       android:layout_marginTop="20dp" 
       android:background="@null" 
       app:border="true" 
       app:border_color="#EEEEEE" 
       app:border_width="4dp" 
       app:shadow="true" 
       /> 

      <TextView 
       android:textColor="#212121" 
       android:layout_gravity="bottom|center_horizontal" 
       android:layout_marginBottom="10dp" 
       android:text="Muffin" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@null" 
       /> 

      </android.support.v7.widget.CardView> 
    </RelativeLayout> 


    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@null" 
     > 
     <android.support.v7.widget.CardView 
      android:id="@+id/hp_bar_layout" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="4dp" 
      android:layout_marginBottom="4dp" 
      card_view:cardCornerRadius="2dp" 
      card_view:cardElevation="2dp" 
      card_view:cardBackgroundColor="#ffffff" 
      > 
      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="vertical" 
       android:background="@null" 
       android:padding="3dp" 
       > 
       <TextView 
        android:id="@+id/hp_text" 
        android:textColor="#212121" 
        android:textSize="11sp" 
        android:text="HP" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginBottom="2dp" 
        android:layout_marginLeft="2dp" 
        android:background="@null" 
        /> 
       <ProgressBar 
        android:id="@+id/hp_bar" 
        android:layout_width="match_parent" 
        style="?android:attr/progressBarStyleHorizontal" 
        android:layout_height="20dp" 
        android:progress="43" 
        android:progressDrawable="@drawable/hp_bar" 
        android:background="@null" 
        /> 
       <TextView 
        android:id="@+id/hp_currently" 
        android:textColor="#212121" 
        android:textSize="13sp" 
        android:text="43/100" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginTop="2dp" 
        android:layout_marginLeft="2dp" 
        android:background="@null" 
        /> 
      </LinearLayout> 
     </android.support.v7.widget.CardView> 
     <android.support.v7.widget.CardView 
      android:id="@+id/mp_bar_layout" 
      android:layout_below="@id/hp_bar_layout" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="4dp" 
      android:layout_marginBottom="4dp" 
      card_view:cardCornerRadius="2dp" 
      card_view:cardElevation="2dp" 
      card_view:cardBackgroundColor="#ffffff" 
      > 
      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="vertical" 
       android:background="@null" 
       android:padding="3dp" 
       > 
       <TextView 
        android:id="@+id/mp_text" 
        android:textColor="#212121" 
        android:textSize="11sp" 
        android:text="MP" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginBottom="2dp" 
        android:layout_marginLeft="2dp" 
        android:background="@null" 
        /> 
       <ProgressBar 
        android:id="@+id/mp_bar" 
        android:layout_width="match_parent" 
        style="?android:attr/progressBarStyleHorizontal" 
        android:layout_height="20dp" 
        android:progress="17" 
        android:progressDrawable="@drawable/mp_bar" 
        android:background="@null" 
        /> 
       <TextView 
        android:id="@+id/mp_currently" 
        android:textColor="#212121" 
        android:textSize="13sp" 
        android:text="17/100" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginTop="2dp" 
        android:layout_marginLeft="2dp" 
        android:background="@null" 
        /> 
      </LinearLayout> 
     </android.support.v7.widget.CardView> 
    </RelativeLayout> 
</LinearLayout> 

cevap

1
sizin cardview match_parent için muffin- layout_height kapsayan değiştirin

:

İşte benim kod. Bunu düzeltmezseniz yorum yapın

DÜZENLEME: Tamam, biraz daha düşünmeden sonra, Göreceli Düzenin buradaki soruna neden olduğunu anladım. Burada göreceli düzeni tamamen silebilir veya doğrusal bir düzen ile değiştirebilirsiniz. Sorununuzu çözmek için sonunda cardview match_parent olarak yüksekliğe sahip olmaları ve yakın ebeveyn (kapatan etiketi)

+0

Çalışmıyor ^^ – Muffin

+0

Doğru kart görünümünü düzenlediniz mi? İçinde muffin imageview olanı? – Shreyans

+0

Evet, kart görünümü tüm ekrana uzanıyor. – Muffin

0

Böyle LinearLayouts kullanmalıdır wrap_content olarak yüksekliğe sahip bir Bağıl Düzeni şey ama olması gerekir:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:background="@drawable/card_background_selector" 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> <!-- You may give a definite value too --> 

    <ImageView 
     android:padding="@dimen/icon_padding_large" 
     android:src="@mipmap/ic_launcher" 
     android:layout_weight="3" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:id="@+id/appIcon" /> 

    <LinearLayout 
     android:padding="@dimen/icon_padding_large" 
     android:orientation="vertical" 
     android:layout_weight="7" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content"> 

     <TextView 
      android:singleLine="true" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="New Text" 
      android:id="@+id/appName" /> 

     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceSmall" 
      android:text="Small Text" 
      android:id="@+id/appDeveloper" /> 
    </LinearLayout> 
</LinearLayout> 
1

LinearLayout'u RelativeLayout ile değiştirin ve ilk çocuğun en üstteki & altını hizalayın. Ve elbette, ikinci çocuğa toRightOf yumruk bir tane ayarlayın. Sonra, ilk çocuğun CardView'i android:layout_centerVertical="true".

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/tools" 
    xmlns:card_view="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/top_bar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:padding="8dp"> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@null"> 

     <RelativeLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@null" 

      android:id="@+id/column_1" 
      android:layout_alignBottom="@+id/column_2" 
      android:layout_alignTop="@+id/column_2" 
      > 

      <android.support.v7.widget.CardView 
       android:id="@+id/profile_layout" 
       android:layout_width="100dp" 
       android:layout_height="wrap_content" 
       android:layout_margin="4dp" 
       card_view:cardBackgroundColor="#ffffff" 
       card_view:cardCornerRadius="2dp" 
       card_view:cardElevation="2dp" 

       android:layout_centerVertical="true" 
       > 

       <com.pkmmte.view.CircularImageView 
        android:layout_width="80dp" 
        android:layout_height="80dp" 
        android:layout_gravity="center_horizontal" 
        android:layout_marginTop="20dp" 
        android:background="@null" 
        android:src="@drawable/muffin" 
        app:border="true" 
        app:border_color="#EEEEEE" 
        app:border_width="4dp" 
        app:shadow="true" /> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="bottom|center_horizontal" 
        android:layout_marginBottom="10dp" 
        android:background="@null" 
        android:text="Muffin" 
        android:textColor="#212121" /> 

      </android.support.v7.widget.CardView> 
     </RelativeLayout> 


     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@null" 

      android:id="@+id/column_2" 
      android:layout_toRightOf="@id/column_1" 
      > 

      <android.support.v7.widget.CardView 
       android:id="@+id/hp_bar_layout" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginBottom="4dp" 
       android:layout_marginTop="4dp" 
       card_view:cardBackgroundColor="#ffffff" 
       card_view:cardCornerRadius="2dp" 
       card_view:cardElevation="2dp"> 

       <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:background="@null" 
        android:orientation="vertical" 
        android:padding="3dp"> 

        <TextView 
         android:id="@+id/hp_text" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_marginBottom="2dp" 
         android:layout_marginLeft="2dp" 
         android:background="@null" 
         android:text="HP" 
         android:textColor="#212121" 
         android:textSize="11sp" /> 

        <ProgressBar 
         android:id="@+id/hp_bar" 
         style="?android:attr/progressBarStyleHorizontal" 
         android:layout_width="match_parent" 
         android:layout_height="20dp" 
         android:background="@null" 
         android:progress="43" 
         android:progressDrawable="@drawable/hp_bar" /> 

        <TextView 
         android:id="@+id/hp_currently" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_marginLeft="2dp" 
         android:layout_marginTop="2dp" 
         android:background="@null" 
         android:text="43/100" 
         android:textColor="#212121" 
         android:textSize="13sp" /> 
       </LinearLayout> 
      </android.support.v7.widget.CardView> 

      <android.support.v7.widget.CardView 
       android:id="@+id/mp_bar_layout" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_below="@id/hp_bar_layout" 
       android:layout_marginBottom="4dp" 
       android:layout_marginTop="4dp" 
       card_view:cardBackgroundColor="#ffffff" 
       card_view:cardCornerRadius="2dp" 
       card_view:cardElevation="2dp"> 

       <RelativeLayout 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:background="@null" 
        android:orientation="vertical" 
        android:padding="3dp"> 

        <TextView 
         android:id="@+id/mp_text" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_marginBottom="2dp" 
         android:layout_marginLeft="2dp" 
         android:background="@null" 
         android:text="MP" 
         android:textColor="#212121" 
         android:textSize="11sp" /> 

        <ProgressBar 
         android:id="@+id/mp_bar" 
         style="?android:attr/progressBarStyleHorizontal" 
         android:layout_width="match_parent" 
         android:layout_height="20dp" 
         android:background="@null" 
         android:progress="17" 
         android:progressDrawable="@drawable/mp_bar" /> 

        <TextView 
         android:id="@+id/mp_currently" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_marginLeft="2dp" 
         android:layout_marginTop="2dp" 
         android:background="@null" 
         android:text="17/100" 
         android:textColor="#212121" 
         android:textSize="13sp" /> 
       </RelativeLayout> 
      </android.support.v7.widget.CardView> 
     </RelativeLayout> 
    </RelativeLayout> 
</RelativeLayout> 
İlgili konular