2011-11-21 24 views
5

tôi đã xây dựng một màn hình trông như thế này:EditText mất biên giới của mình sau khi thất bại trong trình

nhưng nếu đăng nhập thất bại màn hình quay ra nhìn như thế này:

Tôi đã sử dụng EditText và mã trông giống như sau:

<TextView android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
      android:text="email"></TextView> 
     <EditText 
      android:layout_height="wrap_content" 
      android:layout_width="fill_parent" 
      android:id="@+id/username" 
      android:hint="" 
      android:textStyle="normal" 
    android:singleLine="true" 
      android:inputType="textEmailAddress">     
     </EditText> 
     <TextView android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
      android:text="password"> 
     </TextView> 
     <EditText 
      android:layout_height="wrap_content" 
      android:layout_width="fill_parent" 
      android:id="@+id/uc_txt_password" 
      android:hint="" 
      android:textStyle="normal" 
    android:singleLine="true" 
      android:inputType="textPassword"> 
     </EditText> 

Bất kỳ ý tưởng nào?

Cập nhật: Dường như màn hình không có thật là cách hiển thị trên bánh kem theo mặc định. Tôi đang sử dụng phiên bản cũ hơn của android (2.2) trên màn hình hiển thị giống như ảnh đính kèm đầu tiên.

+1

@Vivek hãy cẩn thận hơn khi bạn chỉnh sửa, bạn đã xóa các hình ảnh. –

+0

Oh Tôi rất xin lỗi. Tôi đã không nhận thấy điều đó. Cảm ơn rất nhiều vì rằng thuật sĩ bóng tối @ –

+0

Đây có phải là các hình nền mặc định của edittext không? – jakk

Trả lời

2

ICS Giới thiệu bố cục văn bản "mở" hơn (xem ứng dụng gmail) nơi phong cách mặc định của văn bản chỉnh sửa thiếu đường viền. Bạn nên xác định rõ hơn phong cách của mình là cách bạn muốn trên tất cả các thiết bị nếu bạn không muốn nó giống như cách thiết bị đặt nó. Có lẽ sử dụng một số hình ảnh vá 9 và các tệp xml của bộ chọn trạng thái. Vì vậy, nếu bạn đang thiết lập nền cho một cái gì đó như màu trắng và không xác định bất kỳ phong cách khác nó có thể được kế thừa từ Holo.Dark và sử dụng như văn bản chỉnh sửa bg: https://github.com/android/platform_frameworks_base/blob/master/core/res/res/drawable-hdpi/textfield_default_holo_dark.9.png

Do đó, không có văn bản hiển thị. Xác định phong cách của bạn cứng nhắc hơn hoặc đặt chủ đề của bạn tốt hơn và không ghi đè lên các nền tảng khác.

+0

Tôi biết rằng tôi sẽ cần phải tìm một giải pháp tốt hơn cho ICS (nói rằng trong bản cập nhật) - cảm ơn cho liên kết mặc dù. – alfasin

+0

Không chắc chắn lý do tại sao bạn đưa ra một bounty ... nếu bạn chỉ nhận được một nền tảng tốt 9-patch và xác định phong cách của bạn vấn đề của bạn được giải quyết trên tất cả các cấp API hiện tại. Bạn thậm chí có thể đi ăn cắp các bản vá 9 từ các nguồn lực trong chi nhánh GB nếu bạn muốn. – Sleepybear

+0

@Sleepybar Chi nhánh GB là gì? GitHub? và bạn nói đúng, nhưng tôi không chắc chắn làm thế nào để loại bỏ tiền thưởng, có lẽ tôi chỉ nên trao nó cho bạn ... :) nhưng nghiêm túc, tôi thà tìm lỗi và sửa nó sau đó đi cho một workaround. – alfasin

0

cố gắng sử dụng selector android

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

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:drawable="@drawable/editbox_dropdown_background" android:state_focused="false"/> 
    <item android:drawable="@drawable/editbox_background_focus_yellow" android:state_focused="true"/> 
    /> 
</selector> 
Các vấn đề liên quan