German Kleine Änderung, große Wirkung

so27

Active Member
Licensed User
Longtime User
Hallo zusammen,

ich habe vor einiger Zeit mal eine App zur Erstellung sicherer Passwörter erstellt. Jetzt habe ich mit ein paar Zeilen Code in der Manifest-Datei und einer Erweiterung (TabStripViewPager) der App ein ganz neues Gesicht gegeben. Da kann man mal sehen wie weit sich B4A in den letzten Monaten weiterentwickelt hat.

pT9Bl5E.png


Aus dem alten TabHost wurde mit kleinen Änderungen TabStripViewPager. Und in der Manifestdatei wurden diese paar Codezeilen ergänzt.

B4X:
'*************** Material Light Theme oder Holo Light Theme, wenn V<20 **************
SetApplicationAttribute(android:theme, "@style/LightTheme")
CreateResource(values-v20, theme.xml,
<resources>
  <style name="LightTheme" parent="@android:style/Theme.Material.Light">
  <item name="android:colorPrimary">#FFC107</item>
  <item name="android:colorPrimaryDark">#FFA000</item>
  <item name="android:colorAccent">#FF9800</item>
  </style>
</resources>)
CreateResource(values-v14, theme.xml,
<resources>
  <style
  name="LightTheme" parent="@android:style/Theme.Holo.Light">
  </style>
</resources>)
'**********************************************************

'********* TabStrip ***********************
CreateResource(drawable, background_tab.xml,
<selector xmlns:android="http://schemas.android.com/apk/res/android"
    android:exitFadeDuration="@android:integer/config_shortAnimTime">
    <item android:state_pressed="true" android:drawable="@color/background_tab_pressed" />
    <item android:state_focused="true" android:drawable="@color/background_tab_pressed"/>
    <item android:drawable="@android:color/transparent"/>
</selector>)
CreateResource(values, colors.xml,
<resources>
    <color name="background_tab_pressed">#6633B5E5</color>
</resources>)
'******************************************

Die Farben für den Material-Look habe ich mir auf dieser Website zusammengestellt.
 

manhof

Member
Licensed User
Longtime User
Hallo s027,

sieht gut aus und mit deinem Video war das leicht nachzumachen. Vielen Dank!
Nun würde ich gerne auch die TabStripViewPager benutzen, habe aber dazu kleine Probleme:

It is implemented as a custom view. It requires B4A v5.8+.
Ich benutze v5.8, habe aber im Designer keine Costom View und somit keine TabStripPager

Kannst du mir da Hilfe geben?

Danke

Manfred
 

DonManfred

Expert
Licensed User
Longtime User
Ich benutze v5.8, habe aber im Designer keine Costom View und somit keine TabStripPager
Im Projekt TabStripPager markieren
tabstrip0102.png



Dann in den Designer

tabstrip0103.png


Dort dann mittels Rechtsklick auf die Activity den CustomView auswählen

tabstrip0104.png
 

manhof

Member
Licensed User
Longtime User
Hallo Manfred,

danke, dachte ich mir schon so.
Bei mir scheitert es daran, dass ich in der Libary den Eintrag nicht drin habe.
Habe schon versucht, die Dateien in den Ordner Libraries unter B4A zu kopieren.
Hier braucht man die XML und jar Datei. Die habe ich im Gifthub nicht gefunden.

Muss man das anders machen?

Vielen Dank!

Manfred
 

DonManfred

Expert
Licensed User
Longtime User
Muss man das anders machen?
Der TabStripPager... Ist das eine Lib (jar und xml) oder ist das eine Class (*.bas)?
Wenn es eine Klasse ist, dann mussts Du die Klasse erst in dein Projekt einbunden bevor Du den Designer aufrufst.
Im Fall von TabStrip ist es jedoch eine Lib. Die müssen in den ADDITIONAL Libraries Ordner. Nicht in den internen.
 

so27

Active Member
Licensed User
Longtime User
Im Fall von TabStrip ist es jedoch eine Lib. Die müssen in den ADDITIONAL Libraries Ordner. Nicht in den internen.

Ach, ich schmeiße die immer in den internen Ordner. Funktioniert aber auch.
 

manhof

Member
Licensed User
Longtime User
Mittlerweile läuft das gut bei mir.
Nun habe ich folgendes Problem.
Zur laufzeit möchte ich einen Tab wieder per Code entfernen, oder deaktivieren.
Ist dies möglich? gefunden habe ich nicht viel, ausser das man ein paar Dinge per Reflector lösen kann.
Auch das entfernen?

Gruß
Manfred
 

manhof

Member
Licensed User
Longtime User
Schade,
kann man dann den Tapstrip komplett deaktivieren und neu laden?
 

so27

Active Member
Licensed User
Longtime User
Neu laden, nur im neuen Activity bzw. beim Reload des Activity. Es gibt leider auch keine HIDE-Möglichkeit um einen Tab zu verstecken.
 
Top