Android SlidingTabs-Stil-Tabs mit runden Ecken

8

Ich verwende SlidingTabs , um zwei Registerkarten zu erstellen. Die Benutzeroberfläche der Registerkarte sollte so aussehen -

Wenn die erste Registerkarte ausgewählt ist

Wenn die zweite Registerkarte ausgewählt ist.

(Bitte beachten Sie die geraden Ecken des blauen Rechtecks)

Ich verwende den folgenden Selektor, um die oben gezeigte Benutzeroberfläche zu erstellen.

%Vor%

round_corner_rectangle s Code ist wie folgt -

%Vor%

login_background ist die dunkelblaue Farbe. Mit dem obigen Code bekomme ich Folgendes:

Ich kann natürlich den corner -Eintrag von round_corner_rectangle entfernen, um den dunkelblauen Hintergrund gerade statt rund zu erhalten. Wenn ich die rechte Seite des blauen Rechtecks ​​gerade mache, wenn das andere Register ausgewählt ist, ist das Rechteck auf der falschen Seite gerundet.

Was soll ich tun, um die Benutzeroberfläche wie im ersten Bild angezeigt zu bekommen?

Aktualisierung: - Wie Sie aus meinem Code sehen können, habe ich keine Probleme beim Erstellen von runden Ecken. Das Problem besteht darin, gerade Ecken auf der ausgewählten Registerkarte zu haben. Wenn ich einfach runde Ecken hinzufüge, wenn eine zweite Registerkarte ausgewählt ist, sind die Ecken auf der falschen Seite abgerundet.

    
Rohan Kandwal 18.07.2015, 07:12
quelle

7 Antworten

8

Ok, erstellen Sie einfach dieses einfache rechteckige, drawbare XML. und Mach dir keine Sorgen über die Ecken, die wir dynamisch erstellen werden.

tabbackground.xml

%Vor%

Wenn Sie jetzt den Tab wechseln. Sie müssen die Position der ausgewählten Registerkarte mithilfe von Listenern in der ausgewählten TabPosition-Variablen abrufen. Ich schreibe nicht Fullcode, nur um dir ein Skelett zu geben

%Vor%

das habe ich bei Tastenklick versucht

    
Moinkhan 22.07.2015, 10:11
quelle
1
  

Verwenden Sie diese XML und A / c, um den Radius zu ändern. Es wird für Satz verwendet   Ecke als abgerundete Form

%Vor%     
Prabhakar 18.07.2015 09:46
quelle
0

Dieser Code funktioniert auf Android 4.0 und höher und liefert Ihnen das von Ihnen erwähnte Ergebnis und bewertet den Code nicht mit der Vorschau in Android Studio.

%Vor%

%Vor%

Bearbeiten 1: Eine andere Lösung für Ihr Problem kann mit einem 9-Patch Image gelöst werden.

Bearbeiten Sie 2: Ссылка

    
Vipul Asri 18.07.2015 08:05
quelle
0

Ihre linke Registerkarte (Schaltfläche) in xml:

%Vor%

für die rechte Registerkarte (Schaltfläche) ändern Sie es folgendermaßen:

%Vor%

und verwende es in deinem XML-Selektor.

    
Fedor Tsyganov 24.07.2015 21:16
quelle
0

Haben Sie versucht, Ihr dunkelblaues Rechteck mit allen geraden Ecken zu gestalten und Ihre beigen Ecken so zu gestalten, dass sie das Rechteck überlappen, so dass gerade Ecken nicht sichtbar sind? Dadurch sollte es funktionieren wie Sie wollen.

Eine andere mögliche Lösung ist die Verwendung einer Art von Drittanbieter-Bibliothek wie

Ссылка

Sie können auch diese Website durchsuchen, um Bibliotheken zu finden:

Ссылка

    
Ivan V 25.07.2015 11:12
quelle
0

Sie sollten diese Bibliothek Ссылка ausprobieren.

Es ist einfach einzurichten und es ist einfach, ausgewählte und nicht ausgewählte Zustände einzustellen.

    
pavle 26.07.2015 14:07
quelle
0

Verwenden Sie den folgenden Code in der Datei gerundet_corner.xml im Zeichenordner

%Vor%

und verwenden Sie Folgendes in der Datei activity_main.xml

%Vor%

das ist es

    
Ganpat Kaliya 05.09.2015 09:31
quelle