2013-01-13 10 views

Odpowiedz

3

Istnieje jedno ograniczenie z Androidem 9-plaster: obszar zawartości zdefiniowany przez prawą i dolną granicę musi być ciągła (tzn. Można mieć tylko jeden segment na prawej i dolnej granicy).

Z drugiej strony możesz mieć wiele rozciągliwych obszarów zdefiniowanych przez segmenty na górnej i lewej krawędzi.

W twoim przypadku:

dla rozciągliwych obszarach:

  • wyciągnąć jeden segment na lewym brzegu

  • narysować dwa segmenty (o tej samej długości) na górnej granicy (symetryczne wokół pionowej przegrody, ale nie zawierają w sobie pionowej przegrody).

na obszarze zawartości:

  • wyciągnąć jeden segment na dolnej granicy
  • wyciągnąć jeden segment na prawym brzegu

za treść:

  • zdefiniuj poziomy układ liniowy z 2 widokiem tekstu w to (szerokość = 0DP i waga = 1,0 dla obu)
  • używać dziewięć łat obraz jako tło

nadzieję, że to pomaga.

---------------------------------------------- ------------------------------

wynik:

używam swój plan, ale wynik jest ten enter image description here

kiedy mój wzrost tekst wysokość Ramka nie zwiększają

jak można to naprawić?

--------------------------------------------- -------------------------------

Nie sądzę, że jest on powiązany z obrazem 9-plasterkowym. Jest bardziej prawdopodobne, związane z textView.

try: na TextView

android:layout_height="WRAP_CONTENT" 

w układzie liniowym

android:layout_height="WRAP_CONTENT" 
+0

Wynik nie jest prawdziwy – Saeed

+0

Bardzo dziękuję, że praca jest doskonała – Saeed

2

LinearLayout pozwala określić przegrody między jego dzieci. Więc trzeba:

  1. Połóż TextView s wewnątrz poziomej LinearLayout
  2. Przypisanie zaokrąglony prostokąt 9-plaster bez dzielnika jako tło LinearLayout
  3. Dodaj dzielniki do LinearLayout: android:divider="drawable_resource"
    android:showDividers="middle"

Ten układ jest również bardziej elastyczny - nie musisz robić kolejnego 9-plasterka, jeśli chcesz 3 lub więcej TextView s

+0

Jest to bardziej elastyczne i będzie się skalować lepiej – TouchBoarder