2016-04-29 18 views
0

私はテキストビューが1つしかないカードビューを持っています。CardViewは常にレイアウトを最初にラップする必要がありますか?

<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:card_view="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/card_view" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="1dp" 
    android:foreground="@drawable/selector_normal" 
    android:clickable="true" 
    card_view:cardCornerRadius="2dp"> 

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

     <TextView 
      android:id="@+id/txt_command" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:drawablePadding="@dimen/padding_standard" 
      android:padding="@dimen/padding_standard" 
      android:textColor="@color/colorLightBlue" 
      android:textSize="@dimen/text_size_medium_small" /> 

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

明らかに、LinearLayoutはTextViewをラップする以外に何もしません。しかし、私がLinearLayoutを削除して、CardViewをTextViewだけで囲むとTextView全体が消えます。これは許されないのですか?

LinearLayoutを削除することはできますか?

冗長レイアウトを削除してレイアウト階層を縮小したいと考えています。

+1

よりよくあなたに簡単な質問「あなたはそれをしようとしましたか?」 –

+0

@RakshitNawani OPは彼が**したことを言った**。しかし明らかに彼のTextViewは姿を消した。 –

+0

'LinearLayout'を削除した後、' layout_width'を 'match_parent'または' wrap_content'に変更して、現在使われていない 'layout_weight'属性を削除する必要があります – AgileNinja

答えて

2

いいえ、それは上記のLinearLayoutを持っている必要はありませんandroid.support.v7.widget.CardView

<android.support.v7.widget.CardView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:card_view="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/card_view" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="1dp" 
    android:clickable="true" 
    android:foreground="@drawable/selector_normal" 
    card_view:cardCornerRadius="2dp"> 

    <TextView 
     android:id="@+id/txt_command" 
     android:layout_width="match_parent" //change here to match_parent 
     android:layout_height="wrap_content" 
     android:drawablePadding="@dimen/padding_standard" 
     android:padding="@dimen/padding_standard" 
     android:textColor="@color/colorLightBlue" 
     android:hint="Your Text Here" 
     android:textSize="@dimen/text_size_medium_small"/> 

</android.support.v7.widget.CardView> 
+0

ありがとう!!どうやら、私はTextView layout_width = "0dp"を変更することを忘れてしまい、それが消えてしまいます。 – Elye

+0

私の質問は-1だと思ってはいけません:(...それは正当な質問であり、他の人はこの問題に直面する可能性があります)あなたの答えはこの問題に気づくのに役立つでしょう。ありがとう! – Elye