Как интегрировать старые стили андроида в титановый сплав

Я конвертирую одно из своих приложений для Android в титановый сплав, у меня есть XML-селектор для кнопок, которые хранятся в папке res/drawable (custom_btn_genoa.xml), как показано ниже:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
 <item android:state_pressed="true" >
     <shape android:shape="rectangle"  >
         <corners android:radius="3dip" />
         <stroke android:width="1dip" android:color="#20534e" />
         <gradient  android:angle="-90"  android:startColor="#062d30" android:endColor="#4c898e"  />            
     </shape>
 </item>
<item android:state_focused="true">
     <shape android:shape="rectangle"  >
         <corners android:radius="3dip" />
         <stroke android:width="1dip" android:color="#20534e" />
         <solid  android:color="#125156"/>       
     </shape>
 </item>  
<item >
    <shape android:shape="rectangle"  >
         <corners android:radius="3dip" />
         <stroke android:width="1dip" android:color="#20534e" />
         <gradient  android:angle="-90"  android:startColor="#4c898e" android:endColor="#125156" />            
     </shape>
 </item>
</selector>

Затем мои стили кнопок (values/styles.xml)

<style name="btnStyleGenoa" parent="@android:style/Widget.Button">
   <item name="android:textSize">15sp</item>
   <item name="android:textStyle">bold</item>
   <item name="android:textColor">#FFFFFF</item>
   <item name="android:gravity">center</item>
   <item name="android:shadowColor">#000000</item>
   <item name="android:shadowDx">1</item>
   <item name="android:shadowDy">1</item>
   <item name="android:shadowRadius">0.6</item>
   <item name="android:background">@drawable/custom_btn_genoa</item>
   <item name="android:padding">10dip</item>
   </style>

В титане я могу установить размер текста, цвет и т. Д., Но как я могу легко реализовать селектор xml в титановом сплаве?


person Hishalv    schedule 25.09.2013    source источник


Ответы (1)


Преобразование из стилей Android в Titanium не является один к одному, оно предназначено для общего применения на нескольких платформах (iOS, Android, Windows, Blackberry). В этом случае (если вы пытаетесь эмулировать селектор кнопок) это встроено в Titanium, вот приближение селектора к Alloy xml для того, что у вас есть:

<Alloy>
        <Button id="button" title="Hello" 
                top="10" width="100" height="50" 
                color="#FFF"
                backgroundFocusedColor="#125156" 
                backgroundColor="#125156"  
                backgroundSelectedColor="#4c898e"/>
</Alloy>

Каждый из свойств backgroundFocused и Selected определяет различные изображения или цвета, используемые при взаимодействии пользователя с кнопкой.

person Josiah Hester    schedule 26.09.2013