2016-10-28 4 views
0

Я пытаюсь использовать NumberPicker в диалоговом окне.NumberPicker не имеет темы

Когда я добавить NumberPicker к виду она выглядит следующим образом:

NumberPicker

Мой XML-файл для диалога выглядит довольно просто, как это:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 


    <NumberPicker 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/numberPicker" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" /> 
</RelativeLayout> 

Мой код просто :

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 

LayoutInflater inflater = (LayoutInflater)builder.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
RelativeLayout inflated = (RelativeLayout)inflater.inflate(R.layout.dialog_button_delay, (ViewGroup)getView()); 

final NumberPicker pick = (NumberPicker) inflated.findViewById(R.id.numberPicker); 
String[] minuteValues = new String[37]; 

for (int i = 0; i < minuteValues.length; i++) { 
    minuteValues[i] = String.valueOf(i*5); 
} 
pick.setWrapSelectorWheel(false); 
pick.setMinValue(0); 
pick.setMaxValue(36); 
pick.setDisplayedValues(minuteValues); 
builder.setView(inflated); 

Файл манифеста:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="de.familyfood.familyfood"> 

    <uses-permission android:name="android.permission.INTERNET" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/Theme.AppCompat.Light.NoActionBar"> 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/title_start"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name=".AddFoodActivity" /> 
     <activity 
      android:name=".LoginActivity" 
      android:label="@string/title_activity_login"/> 
    </application> 

</manifest> 

Стили XML-файл:

<resources> 

    <!-- Base application theme. --> 
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <!-- Customize your theme here. --> 
     <item name="colorPrimary">@color/colorPrimary</item> 
     <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="colorAccent">@color/colorAccent</item> 
    </style> 

    <style name="AppTheme.NoActionBar"> 
     <item name="windowActionBar">false</item> 
     <item name="windowNoTitle">true</item> 
    </style> 

</resources> 

Добавление android:theme="@android:style/Theme.Dialog" результатов в следующем визуальный:

NumberPicker Theme

Кто-нибудь есть идея, почему я не могу использовать MaterialDesign NumberPicker?

+0

Показать манифест и стили.xml. – earthw0rmjim

+0

Я добавил mainfest и styles.xml – Styler2go

+0

Надеюсь, вы найдете свой ответ [здесь] (http://stackoverflow.com/questions/22962075/change-the-text-color-of-numberpicker). – pRaNaY

ответ

0

Возможно, проблема связана с эмулятором Visual Studio для Android с использованием Hyper-V.

Проблема не возникала при установке приложения на моем мобильном телефоне или в эмуляторе Android SDK с использованием HAXM.

+0

Visual Studio? В любом случае, вы можете принять свой ответ, чтобы никто больше не приходил сюда, чтобы найти ответ на неотвеченный вопрос. –

+0

@ KamranAhmed должен был ждать 24 часа, чтобы принять ответ. Да, в Visual Studio Android Emulator используется машина Hyper-V, которая невероятно быстро. Хорошая замена, если вам нужен Hyper-V для других виртуальных машин и не может использовать эмулятор Android SDK. – Styler2go

Смежные вопросы