2017-10-28 4 views
0

대화 상자 회 전자의 popupBackground 색을 변경하고 싶습니다. 내 activity.xml에서대화 상자 회 전자의 팝업 배경색 변경

:

<Spinner 
        android:id="@+id/mCategorySpinner" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_toRightOf="@id/textView7" 
        android:entries="@array/recipeCategory" 
        android:spinnerMode="dialog" 
        android:popupBackground="@color/colorPrimary" 
        android:textAlignment="center" /> 

activity.java에서 : 나는 XML에 android:popupBackground을 변경하는 경우

categorySpinner=(Spinner) findViewById(R.id.mCategorySpinner); 
     ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.recipeCategory, android.R.layout.simple_spinner_item); 
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     categorySpinner.setPrompt("Choose category"); 
     categorySpinner.setAdapter(new NothingSelectedSpinnerAdapter(
       adapter, 
       R.layout.category_spinner_row_nothing_selected,    
       this)); 

아무 일도 일어나지, 그것은 기본 흰색 남아있다.
하지만 배경을 변경하면 작동하지만 대화의 배경이 아닙니다.

+0

https://stackoverflow.com/questions/31425697/spinner-popup-background-color-issue –

+1

여기에 읽기 : https://stackoverflow.com/questions/8922924/how-to-change-android -spinner-popupbackground –

답변

1

당신은 배경 색상을 변경하고이 방법

1 단계를하고 같은 아이콘을 드롭 다운 수 : 당김 폴더에서 회 전자의 배경 background.xml라는 파일을 만든다.

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="@android:color/transparent" /> 
    <corners android:radius="5dp" /> 
    <stroke 
     android:width="1dp" 
     android:color="@color/darkGray" /> 
</shape> 

2 단계 : 이제 색상을 표시하려면 XML 파일

android:background="@drawable/background" 
+0

drawable 폴더의 XML 리소스에 이미지처럼 액세스 할 수 있으므로 이름 뒤에'.xml'을 추가 할 필요가 없습니다. 사실 그것이 발견되지 않습니다. – Zoe

0

1. 한의 spinner_selector.xml에서 회 전자에

을이 배경을 적용하여

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:color="@android:color/holo_red_light" 
      android:state_pressed="true"/> 
    <item android:color="@android:color/white" 
      android:state_pressed="false"/> 
</selector> 

변경

2. 스타일 추가

스타일에 추가하면 다른 장소에서 사용할 수 있습니다.

<style name="spinner_style"> 
    <item name="android:background">@drawable/spinner_selector</item> 
</style> 

3.Add 그것은 XML 코드에

는 회 전자의 배경으로 사용합니다.

<Spinner 
    android:id="@+id/mCategorySpinner" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_toRightOf="@id/textView7" 
    android:entries="@array/recipeCategory" 
    android:spinnerMode="dialog" 
    style="@style/spinner_style" 
    android:textAlignment="center" /> 
+0

설명이 없습니다. 이제 내가 downvote를 제거한 몇 가지 설명이 있습니다. 미래에 이것을 읽는 모든 사람들이 모든 것이 정확히 무엇인지를 아는 것이 아니라, 그것이 중요하다는 것을 기억하십시오. 여전히 더 나은 설명이 필요하지만, 이제는 그다지 하향 투표하지 않는 것이 좋다. – Zoe

+0

'@ drawable/spinner_press'와'@ drawable/spinner'는 어떨까? – Chris

+0

컬러로 바꿉니다. 눌렀 으면 색이 바뀝니다. @ Chris – KeLiuyue