2016-05-13 11 views
3

私は最も奇妙な状況に対処しています。レイアウトファイルには3つのボタンがあります。彼らのうちの1人は影を投げかけ、2人はそうしない。影を投げないボタンの1つにandroid:elevation="10dp”を追加しても、それらはまだ消えません。ここでは、XML1つのボタンは影を表示し、2つは表示しません。理由はわかりません

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:showIn="@layout/activity_look"> 

    <Button 
     android:id="@+id/new_look" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="@drawable/sel_ripple" 
     android:backgroundTint="@color/colorAccent" 
     android:text="New look" 
     android:textColor="@color/white" 
     android:textSize="@dimen/look_btn"/> 

    <LinearLayout 
     android:id="@+id/btn_holder" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="@dimen/16dp" 
     android:layout_marginTop="@dimen/16dp" 
     android:orientation="horizontal" 
     android:padding="@dimen/8dp" 
     android:visibility="gone" 
     > 

     <Button 
      android:id="@+id/btn_yes" 
      android:layout_width="0dp" 
      android:layout_height="?attr/actionBarSize" 
      android:layout_marginRight="@dimen/32dp" 
      android:layout_weight="1" 
      android:background="@drawable/sel_ripple" 
      android:backgroundTint="@color/colorAccent" 
      android:text="@string/yes" 
      android:textColor="@color/white" 
      android:textSize="@dimen/look_btn" 
      /> 

     <Button 
      android:id="@+id/btn_no" 
      android:layout_width="0dp" 
      android:layout_height="?attr/actionBarSize" 
      android:layout_weight="1" 
      android:background="@drawable/sel_ripple" 
      android:backgroundTint="@color/colorAccent" 
      android:text="@string/no" 
      android:textColor="@color/white" 
      android:textSize="@dimen/look_btn" 
      /> 

    </LinearLayout> 
… 
</LinearLayout> 

ban_yesban_npは影を示していないものですされています。

+0

明らかに、 'LinearLayout'内の2つのノーシャドーボタンと、この中のいくつかのアトリビュートは、ノーシャドーになります。私は 'android:padding =" @ dimen/8dp "'が2つのボタンの影を食べると思います。とにかく、画像を投稿する必要があるので、他の人があなたのボタンに何が起こるかを見ることができます。 – sakiM

+0

返信いただきありがとうございます。実際には、それが助けになるかどうかを確認するためにパディングを追加したので、それは原因ではありません。誰かが手助けをしたい場合、Androidスタジオにコードを簡単に貼り付けることができます。それが私がコードを表示する理由です。 –

+0

本当に簡単ですが、このxmlには多すぎるローカル変数が含まれています。あなたは、他の人々があなたが見るのと同じビジョンを得ることを確認することはできません。 – sakiM

答えて

1

レイアウト内のボタンにlayout_marginBottomを追加します。他のアプローチは、あなたドン場合、これは、よりよい解決策かもしれません

<LinearLayout 
    android:id="@+id/btn_holder" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="@dimen/16dp" 
    android:layout_marginTop="@dimen/16dp" 
    android:orientation="horizontal" 
    android:padding="@dimen/8dp" 
    android:visibility="gone" 
    android:clipToPadding="false" 
    > 

を使用し、ボタンをラップレイアウト上、次のとおりです。これは、標高

<Button 
     android:id="@+id/btn_yes" 
     android:layout_width="0dp" 
     android:layout_height="?attr/actionBarSize" 
     android:layout_marginRight="@dimen/32dp" 
     android:layout_weight="1" 
     android:background="@drawable/sel_ripple" 
     android:backgroundTint="@color/colorAccent" 
     android:text="@string/yes" 
     android:textColor="@color/white" 
     android:textSize="@dimen/look_btn" 
     android:layout_marginBottom="8dp" 
     /> 

EDITのショーには、ボタンの余地を与えます余分なマージンが必要です。

+0

それは実際に働いた!ありがとう。どのようにコンテナは影のための部屋を作っていないのですか?これは 'GhostView'と関係がありますか?あなたが知っているなら、あなたは説明を気にしますか? –

+0

こんにちは@Nouvel Travay、もう少し説明するのに役立つ別のソリューションを追加してください。あなたは良い質問をするので、私はあなたの質問をupvote。あなたが私の答えが好きなら、あなたもそうすることができます:) – Elye

+0

うん!より良い解決策です。 +1。私はまだ基​​本的な理由を理解していない。私は誰かが説明することを望む。 Viewクラスのソースコードは大量です。しかし、まだ私は説明のためにそれを見てきました。私は物事を理解するのが好きです。猿だけではなく、猿を参照してください。 –

関連する問題