Jak mogę usunąć obramowanie z pojawia się przy ustawianiu widoku EditText?
Potrzebuję tego, bo ten widok ma mało miejsca na ekranie, ale bez ramki wystarczy. Podczas pracy na emulatorze pojawia się pomarańczowa ramka, a na urządzeniu niebieska.
android
android-edittext
Marcos Vasconcelos
źródło
źródło
Odpowiedzi:
Czy próbowałeś ustawić
EditText
przezroczysty kolor tła?<EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/hello" android:background="#00000000" />
źródło
"@android:color/transparent"
jest nieco bardziej zrozumiała."@null"
może być również opcja<EditText android:id="@+id/edittext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:drawable/editbox_background_normal" />
źródło
To jest możliwe. Jednak nie polecałbym tego, ponieważ użytkownicy są przyzwyczajeni do pewnych metafor i nie powinieneś zmieniać ogólnego UX.
Możesz zastosować różne style do swoich widoków. W twoim przypadku brzmi to tak, jakbyś chciał elementu EditText View, który wygląda jak element TextView. W takim przypadku należałoby określić inne tła dla EditText w zależności od stanu elementu View.
W wybranym pliku layout.xml przypisujesz tło do tekstu edycji:
<EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/hello" android:background="@drawable/custom" />
Następnie utwórz plik custom.xml w folderze do rysowania i dodaj następujące elementy:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_window_focused="false" android:state_enabled="true" android:drawable="@drawable/textfield_default" /> <item android:state_window_focused="false" android:state_enabled="false" android:drawable="@drawable/textfield_disabled" /> <item android:state_pressed="true" android:drawable="@drawable/textfield_default" /> <item android:state_enabled="true" android:state_focused="true" android:drawable="@drawable/textfield_default" /> <item android:state_enabled="true" android:drawable="@drawable/textfield_default" /> <item android:state_focused="true" android:drawable="@drawable/textfield_disabled" /> <item android:drawable="@drawable/textfield_disabled" /> </selector>
To są możliwe stany elementu widoku EditText. Zwykle możesz uzyskać dostęp do rysunków platformy Android bezpośrednio za pomocą
@android:drawable/textfield_default
, ale w tym przypadku rysunki Textfield są prywatne, więc musisz je skopiować do własnego folderu do rysowania. Oryginalne zasoby można znaleźć w folderze instalacyjnym zestawu SDK pod adresemANDROID_HOME\platforms\android-(API LEVEL)\data\res\drawable-(*dpi)\
.Gdy skończysz, otrzymasz EditText, który wygląda jak TextView, ale całkowicie bez tych granic. Te pomarańczowe obramowania, które widziałeś w emulatorze, są domyślnymi rysunkami Androida. Niebieskie są specyficzne dla producenta (prawdopodobnie Samsung).
Mam nadzieję, że to pomogło i nie zmyliło tak bardzo.
źródło
To najszybsze rozwiązanie:
<EditText android:id="@+id/edittext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#00000000" />
źródło
Możesz zachować przezroczysty kolor tła, aby usunąć ramkę EditText na fokusie.
Metoda 1
<EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#00000000" />
źródło