2017-10-29 10 views
0

Androidスタジオで非常に奇妙な問題が発生しています。私は、EditTextオブジェクトとボタンを持つ単純なレイアウトを持っています。ボタンに属性android:background = "some_color"というアトリビュートを割り当てると、レイアウトの色全体が薄くなり、白く見えます。属性を削除すると、背景色が元の状態に戻ります。スクリーンショットと説明:ボタンの色を変更すると、全体のレイアウト色が白に変わります

コード背景色がボタンに追加される前に:

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@color/clarksonGreen"> 

    <ImageView 
     android:id="@+id/EnterRoomNumberBackgroundImage" 
     android:layout_width="437dp" 
     android:layout_gravity="center" 
     android:layout_height="526dp" 
     android:alpha="0.1" 
     app:srcCompat="@drawable/knight" /> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:gravity="center" 
     android:weightSum="1"> 

     <EditText 
      android:id="@+id/EnterRoomNumber" 
      android:layout_width="246dp" 
      android:background="@drawable/enter_room_number_box" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:layout_marginBottom="55dp" 
      android:layout_marginTop="10dp" 
      android:ems="10" 
      android:hint="Enter Room #" 
      android:textColorHint="#808080" 
      android:textAlignment="center" 
      android:inputType="number" 
      android:layout_weight="0.09" /> 

     <Button 
      android:id="@+id/GoButton" 
      android:layout_width="271dp" 

      android:layout_height="80dp" 
      android:text="Button" /> 

    </LinearLayout> 
</FrameLayout> 

Preview before the background color is added to the button.

コード背景色がボタンに追加された後:

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@color/clarksonGreen"> 

    <ImageView 
     android:id="@+id/EnterRoomNumberBackgroundImage" 
     android:layout_width="437dp" 
     android:layout_gravity="center" 
     android:layout_height="526dp" 
     android:alpha="0.1" 
     app:srcCompat="@drawable/knight" /> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:gravity="center" 
     android:weightSum="1"> 

     <EditText 
      android:id="@+id/EnterRoomNumber" 
      android:layout_width="246dp" 
      android:background="@drawable/enter_room_number_box" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:layout_marginBottom="55dp" 
      android:layout_marginTop="10dp" 
      android:ems="10" 
      android:hint="Enter Room #" 
      android:textColorHint="#808080" 
      android:textAlignment="center" 
      android:inputType="number" 
      android:layout_weight="0.09" /> 

     <Button 
      android:id="@+id/GoButton" 
      android:layout_width="271dp" 
      android:background="@color/clarksonGreen" 
      android:layout_height="80dp" 
      android:text="Button" /> 

    </LinearLayout> 
</FrameLayout> 

Preview after background color is added to button.

どのようにこの奇妙なエラーを修正するには?

+0

カスタム背景を使用する –

答えて

0

リソースファイルの色に「clarksonGreen」という色変数を割り当てていない可能性はありますか?はいの場合は、Color変数に移動して色の名前( "clarksonGreen")を入れ、色を割り当てます(例:#e55656)。

+0

最初にコードをテストすることを検討する必要があります。私は質問者コードをテストしており、彼が言っていることが驚くべきことは正しいと思っています!あなたの答えは役に立たない – Xenolion

0

まず、問題を再現できません。あなたのカラーファイルに色があると仮定すると、間違いはありません。

ImageViewにカラーを適用したり、AndroidStudioをアップデートしたり、エミュレータで起動したりして、プロジェクトを再構築してみることもできます。

動作しない場合は、コード全体をGitHubにアップロードしてください。もっと詳しく調べることができます。

関連する問題