Debido a que realizaron una consulta sobre este tema en el foro decidí hacer este breve turorial sobre Material Design. Para que todos tengan acceso a esta información.
Utilizar B4A v6+
Importante Es necesario actualizar su ANDROID SDK.
Tener en la biblioteca de librería b4a las siguientes librerías
* AppCompat => Descargar
AppCompat_v3.52 Copiar en la carpeta de librería donde tengan instalado b4a, o en su carpeta de librerías adicionales.
Ej. C:\Program Files (x86)\Anywhere Software\B4A\Basic4android\Libraries.
* El siguiente paso es agregar a Manifest Editor
SetApplicationAttribute(android:theme, "@style/MyAppTheme")
CreateResource(values, theme.xml,
<resources>
<style name="MyAppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">#0098FF</item>
<item name="colorPrimaryDark">#007CF5</item>
<item name="colorAccent">#AAAA00</item>
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
</style>
</resources>
)
Tu Manifest Editor debería quedar mas o menos de la siguiente manera
AddManifestText(
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="22"/>
<supports-screens android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="true"/>)
SetApplicationAttribute(android:icon, "@drawable/icon")
SetApplicationAttribute(android:label, "$LABEL$")
'End of default text.
SetApplicationAttribute(android:theme, "@style/MyAppTheme")
CreateResource(values, theme.xml,
<resources>
<style name="MyAppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">#0098FF</item>
<item name="colorPrimaryDark">#007CF5</item>
<item name="colorAccent">#AAAA00</item>
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
</style>
</resources>
)
* Al haber realizado lo anterior, en nuestro activity main debemos agregar la siguiente linea de código
#Extends: android.support.v7.app.AppCompatActivity
La estructura de nuestro Activity Main debiera ser la siguiente
#Region Project Attributes
#ApplicationLabel: AppCompat
#VersionCode: 2
#VersionName: 3.30
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: unspecified
#CanInstallToExternalStorage: False
#End Region
#Extends: android.support.v7.app.AppCompatActivity
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
'Activity.LoadLayout("layout1")
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
* Recuerden que deben tener seleccionado en Libraries Manager AppCompat(version: 3.30+) como muestra la imagen
View attachment 46273
* Muy importante que en su Android SDK Manager deben tener instalado Android Support Repository v36+
En la imagen se muestra v34, pero es necesario v36+ con la nueva version de AppCompact v3.30+.
View attachment 46274
* En este
link encontraran un ejemplo completo.
* Y acá el tutorial de AppCompat original en ingles
https://www.b4x.com/android/forum/t...compatible-with-older-android-versions.48423/
* Tutorial extra en Ingles
DesignSupport - Additional Material Design components
Todo esto es posible gracias al gran trabajo de @corwin42