2017-10-16 5 views
0

ピッカーを画面に追加しようとしていますが、画面上にピッカーが表示されているときにタップすると選択肢が表示されません。Appcelerator - Android Pickerがタップ/クリックイベントに応答していません

これは、XMLである:

<Window class="container" platform="android" backgroundColor="white"> 
     <Picker id="picker" backgroundColor="black" selectionIndicator="true" useSpinner="false"> 
      <PickerColumn id="column1"> 
       <PickerRow title="Bananas"/> 
       <PickerRow title="Strawberries"/> 
       <PickerRow title="Mangos"/> 
       <PickerRow title="Grapes"/> 
      </PickerColumn> 
     </Picker> 
    </Window> 

それだけ表示される最初の行バナナ黒の四角形を示します。

Appcelerator info: 
Node version: 6.9.5 
Titanium SDK: 6.1.1.GA 
Target OS : Android 

UPDATEありがとう:

さらにテストは、これがAPPCOMPATが原因で発生することがことが明らかになりました。アプリケーション自体にカスタムテーマがあり、tiapp.xmlからアプリケーションタグとその子を削除した後、ピッカーは正常に動作しました。誰でもこの問題が発生しましたか?

マイcustom_theme.xml:削除された

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="Theme.SplashScreen" parent="@style/Theme.AppCompat.Fullscreen"> 
     <item name="android:windowBackground">@drawable/background</item> 
     <item name="android:windowActionBar">false</item>  
     <item name="android:windowNoTitle">true</item> 
    </style> 

    <style name="landingTheme" parent="@style/Theme.AppCompat.Translucent"> 
     <item name="android:windowBackground">@color/transparent</item> 

     <item name="colorPrimary">@color/primaryColor</item> 

     <item name="android:editTextStyle">@style/Widget.EditText</item> 
     <item name="android:drawSelectorOnTop">true</item> 
    </style> 

    <!-- <style name="Theme.TranslucentNoActionBar" parent="@style/Theme.AppCompat.Translucent"> --> 
    <style name="Theme.TranslucentNoActionBar" parent="@style/Theme.AppCompat.Translucent.NoTitleBar"> 
     <!-- Depending on the parent theme, this may be called android:windowActionBar instead of windowActionBar --> 
     <item name="android:windowIsTranslucent">true</item> 
     <item name="android:windowActionBar">false</item> 
     <item name="android:windowNoTitle">true</item> 
     <item name="android:windowBackground">@color/transparent</item> 

     <item name="colorPrimary">@color/primaryColor</item> 

     <item name="android:editTextStyle">@style/Widget.EditText</item> 
     <!--item name="android:buttonStyle">@style/Widget.App.Button</item--> 
    </style> 

    <style name="Widget.EditText" parent="Widget.AppCompat.EditText"> 
     <item name="android:padding">0dp</item> 
     <item name="android:background">@color/transparent</item> 
     <item name="android:includeFontPadding">false</item> 
    </style> 

</resources> 

アプリケーションタグ:

<application android:theme="@style/landingTheme"> 
       <activity 
        android:configChanges="keyboardHidden|orientation|screenSize" 
        android:label="@string/app_name" 
        android:name=".myActivity" 
        android:theme="@style/Theme.SplashScreen" android:windowSoftInputMode="stateHidden|adjustResize"> 
        <intent-filter> 
         <action android:name="android.intent.action.MAIN"/> 
         <category android:name="android.intent.category.LAUNCHER"/> 
        </intent-filter> 
       </activity> 
       <!-- Prevent android from auto focus textfield - https://developer.appcelerator.com/question/120852/keyboard-launch-automatically-without-focus-textfield --> 
       <activity 
        android:configChanges="keyboardHidden|orientation|screenSize" 
        android:name="org.appcelerator.titanium.TiTranslucentActivity" 
        android:theme="@style/Theme.TranslucentNoActionBar" android:windowSoftInputMode="stateHidden|adjustResize"/> 
       <activity 
        android:configChanges="keyboardHidden|orientation" 
        android:name="org.appcelerator.titanium.TiActivity" 
        android:theme="@style/Theme.TranslucentNoActionBar" 
        android:screenOrientation="portrait" android:windowSoftInputMode="stateHidden|adjustResize"/> 
      </application> 

UPDATE 2:

追加情報:

Test Device: Huawei P9 
Device Android OS: 7.0 
Targetted Android version: API 23 
+0

tiapp.xmlで適用されたテーマのスピナー関連の属性を使用していますか? –

+0

私の 'custom_theme.xml'をポストします。 – ipohfly

+0

半透明の設定がこれと関係しているようです。 –

答えて

0

問題は、テーマ間の循環継承に起因します。カスタムテーマはTheme.AppCompat.Translucentを親として使用しますが、そのテーマ自体はtiapp.xmlで指定したカスタムテーマの子として定義されています。そしてそれはテーマがそれ自身の子供であることにつながる。 landingThemeは、Theme.AppCompat.Translucentの2つのインスタンス間で一種のプロキシとして機能するため、エラーが発生しないと思われます。 landingThemeの親をTheme.AppCompatに設定し、使用するTheme.AppCompat.Translucentのプロパティを手動で追加することをお勧めします。

0

これはuseSpinnerプロパティのためでしょうか? 5.2.1 SDK以降は非推奨です。

+0

すべきではありません...私はカスタムテーマを削除し、うまくいきました。 – ipohfly

関連する問題