2010-06-10 10 views
7

Próbuję dowiedzieć się, jak osadzić rzeczy, inne niż Drawables, wewnątrz widżetu EditText. Konkretnie przykład mam na myśli to z widget Google Buzz:Jak osadzić widok (za pomocą przycisków itp.) Wewnątrz EditText?

screenshot (inline obraz nie, przepraszam, jestem newb)

Wydaje przypadkowego obserwatora, że ​​istnieje cały obiekt układ przypięty do dołu EditText, zawierający ImageView, TextView i Button.

Ktoś ma jakiś pomysł, jak to zrobić? Czy uważamy, że jest to niestandardowa podklasa EditText?

Odpowiedz

0

Myślę, że to, co tutaj zrobili, tworzy tło dla ich układu, który wygląda jak EditText. Następnie dodano EditText z wyłączonym tłem i przychodzącymi przyciskami.

+0

Przypuszczam, że to możliwe, chociaż jeśli grasz z łańcuchem skupień za pomocą trackballa, nie wydaje się, żeby tak było. – Hugh

15

Przycisk EditText + + ... to FrameLayout z EditText z fill_parent i przyciskami z layout_gravitiy: "bottom". Coś takiego:

<?xml version="1.0" encoding="utf-8"?> <!-- Main Layout (may be relative or whatever --> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <!-- Layout for edittext and button --> 
    <FrameLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"> 

     <EditText 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:lines="5"/> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom|right" 
      android:layout_margin="5dip" 
      android:text="Overflow"/> 

    </FrameLayout> 

    <!-- More layouts ..... --> </RelativeLayout> 
+2

Dobra odpowiedź - powinna być oznaczona jako poprawna. –

1

można wykorzystać układ klatek dla embed przycisk EditText, tutaj daję przykładowy kod do umieszczenia na stronie TextView w EditText, wystarczy zmienić TextView jak Buttona

<FrameLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_x="40px" 
     android:layout_y="35px" 
     >   

    <EditText android:id="@+id/twt_post_content" android:layout_gravity="center_vertical" 
     android:layout_width="320dp" android:layout_height="140dp" 
     android:paddingTop="5dp" android:imeOptions="actionDone" 
     android:gravity="left" android:focusableInTouchMode="true" 
     android:maxLength="140" android:ellipsize="end" /> 
      <TextView 
       android:text="123" 
       android:paddingLeft="270dp"  
       android:paddingTop="100dp" 
       android:layout_alignParentRight="true" 
       android:id="@+id/twt_content_count" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content"    
       android:textColor="@color/red" 
       android:layout_gravity="center"    
       android:background="@color/transparent"/>  
       </FrameLayout>   
Powiązane problemy