2016-08-05 48 views
10

Jak dodać ramkę wokół tekstu, jak pokazano na obrazie za pomocą XML szablonuAndroid: dodanie obramowania wokół TextView

image 1

Próbowałem dodając obramowanie do układu, ale jego pokrywa się z tekstem.

image 2

+0

można użyć kształtu rozciągliwej – KrishnaJ

+0

dać tło TextView jako białe, a następnie umieścić go nad polem –

+0

można proszę rozwinąć, muszę dodać TextView wewnątrz tego prostokąta – Jignesh

Odpowiedz

15

Można spróbować tego układu, jego odzwierciedlające jak na swoje wymagania

<?xml version="1.0" encoding="utf-8"?> 
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_margin="15dp" > 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@drawable/border" 
      android:layout_marginTop="10dp" 
      android:orientation="vertical" 
      android:padding="15dp"> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:textStyle="bold" 
       android:text="Label 1: Value 1"/> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:textStyle="bold" 
       android:text="Label 2: Value 2"/> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:textStyle="bold" 
       android:text="Label 3: Value 3"/> 

     </LinearLayout> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentTop="true" 
      android:text=" Details " 
      android:layout_marginLeft="15dp" 
      android:background="#ffffff" 
      android:textSize="17sp" /> 

    </RelativeLayout> 

XML border.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle" > 
    <stroke 
     android:width="2dp" 
     android:color="#cdcdcd" />  
</shape> 

nadzieję, że to pomaga w jakiś sposób.

+0

dziękuję bardzo !! .. jego działanie !! ... – Jignesh

+0

Twoje powitanie kochanie ... –

0
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:orientation="vertical"> 

<FrameLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:padding="16dip"> 

    <TextView 
     android:id="@+id/txt_notificaiton" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_margin="10dip" 
     android:background="@drawable/button_effect_white" 
     android:padding="16dip" 
     android:text="" 
     android:textColor="@drawable/text_color_white" 
     android:textSize="22dip" /> 

    <TextView 
     android:id="@+id/txt_createddateandtime" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="right|bottom" 
     android:padding="16dp" 
     android:text="" 
     android:textSize="12dip" /> 

    <TextView 
     android:id="@+id/iv_read_unread" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="left|top" 
     android:layout_marginRight="10dp" 
     android:background="@color/white" 
     android:text="Details" /> 

</FrameLayout> 
</LinearLayout> 
+0

można zaksięgować zrzut ekranu układ, jej nie działa zgodnie z wymaganiami – Jignesh

+0

Możesz zmienić widok obrazu na TextView, jak chcesz. – PriyankaChauhan

+0

@ Jignesh proszę sprawdzić zaktualizowany kod – PriyankaChauhan

5

Aby dodać obramowanie do Android TextView musimy utworzyć XML zawierający kształt prostokąta jako plik w folderze rozciągliwej i ustawić go jako tło do TextView.

<stroke> tag is used to set the border width and color. 

border.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle" > 
<stroke 
android:width="2dp" 
android:color="#000000" /> 
</shape> 

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:padding="10dp" xmlns:tools="http://schemas.android.com/tools" >        
<TextView 
android:id="@+id/textView2" 
android:layout_width="match_parent" 
android:layout_height="30dp" 
android:layout_centerHorizontal="true" 
android:layout_centerVertical="true" 
android:background="@drawable/border" 
android:gravity="center" 
android:text="Android Programming is fun!!" /> 
</RelativeLayout> 

Jeśli chcesz dodać ramkę do dowolnego układu zamiast TextView, zrobić układ tła jako

**android:background="@drawable/border"** 
+0

jego dodanie ramkę nad tekstem, muszę umieścić kilka textviews w tym prostokącie granicy. – Jignesh

+0

OK. Następnie możesz wykonać projekt z dowolnym układem, na przykład liniowym lub względnym. Dodaj obramowanie do tego układu. Wreszcie możesz dodać widoki tekstowe w tym układzie. Mam nadzieję, że to dostałeś. –

+0

Nie można umieścić poglądu tekstowego na granicy układu, sprawdź nowy obraz w pytaniu – Jignesh

0
 textbackground.xml 
     <?xml version="1.0" encoding="utf-8"?> 
     <selector xmlns:android="http://schemas.android.com/apk/res/android" >  

<item android:state_pressed="true"> 
<shape > 
<solid android:color="@color/white"/> 
<corners 
android:radius="1dp"/> 
</shape> 
</item> 

<item android:state_focused="true" > 
<shape xmlns:android="http://schemas.android.com/apk/res/android" > 
<solid android:color="@color/white"/> 
<corners 
android:radius="1dp"/> 
</shape> 
</item> 

<item android:state_focused="false" > 


<shape xmlns:android="http://schemas.android.com/apk/res/android" > 

<solid android:color="#c38416"/> 
<stroke 
    android:width="3dp" 
    android:color="@color/bordercolor" /> 

<corners android:radius="3dp" /> 

<padding 
    android:bottom="6dp" 
    android:left="6dp" 
    android:right="6dp" 
    android:top="6dp" /> 

</shape> 
</item> 

<item android:state_pressed="false" > 
<shape xmlns:android="http://schemas.android.com/apk/res/android" > 
<solid android:color="#c38416"/> 
<corners 
android:radius="1dp" 
/> 
</shape> 

and 
    <TextView 
    android:background="@drawable/textbackground" 

    /> 
+0

nie działa, sprawdź nowy obraz w pytaniu – Jignesh

0

Tworzenie rozciągliwej plik i dodać ten kod w tym pliku

<?xml version="1.0" encoding="utf-8"?> 

    <shape xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shape="rectangle"> 

     <corners android:radius="2dp" /> 
     <stroke 
      android:width="2px" 
      android:color="@color/colorGreyBrown" /> 
     <solid android:color="#ffffff" /> 
    </shape> 

następnie ustawić ten plik rozciągliwej jako tło do swojej TextView

<TextView 
       android:id="@+id/Textview_register_als" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
    android:background="@drawable/foodynet_rounded_corner_brown_color_border_white_bg" 
       android:gravity="center" 
       android:text="@string/string_text_register" 
       android:textColor="@color/colorGreyBrown" 
       android:textSize="@dimen/text" /> 
+0

nie działa, sprawdź nowy obraz w pytaniu – Jignesh