2013-07-12 29 views
8

Trong một trong những hoạt động của tôi, quan điểm EditText tôi thường trông như thế nàyThay đổi phong cách EditText android từ biên giới hình chữ nhật để nhấn

enter image description here

Nhưng bây giờ họ trông như thế này

enter image description here

Tôi cần giúp đỡ để thay đổi nó trở lại: từ hình chữ nhật đến gạch dưới.

BỐI CẢNH

Bởi vì tôi cần thiết để tạo ra một ActionBar tùy chỉnh, tôi đã phải thay đổi chủ đề của hoạt động trong câu hỏi, YesterdayActivity, sử dụng sau

Kiểu:

<style name="CustomWindowTitleBackground"> 
     <item name="android:background">#323331</item> 
    </style> 

    <style name="CustomTheme" parent="android:Theme"> 
     <item name="android:windowTitleSize">40dip</item> 
     <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item> 
    </style> 

Tệp kê khai:

<activity 
     android:name="com.example.YesterdayActivity" 
     android:theme="@style/CustomTheme"> 
    </activity> 

onCreate:

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
     setContentView(R.layout.activity_yesterday); 
     getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.yesterday_title_bar); 
… 
} 
+0

bạn có muốn tạo dấu gạch dưới edittext không? – TheFlash

+0

Tôi chỉ muốn quay lại giao diện mặc định như giữ thanh tác vụ tùy chỉnh của mình. Nếu xây dựng một ứng dụng Android đơn giản với EditText, hình ảnh đầu tiên là giao diện mặc định, đó là những gì tôi muốn. –

+0

Tôi đang gặp vấn đề CÙNG CHÍNH XÁC –

Trả lời

0

Thay đổi chủ đề tùy chỉnh của bạn như thế này

<style name="CustomTheme" parent="android:Theme.Holo.NoActionBar"> 

vì bạn không sử dụng theme android cũ không HoLo trong đó có mà kinda editTextView

Trong các phiên bản mới hơn của Android , khung công tác sẽ sử dụng tính năng Window.FEATURE_ACTION_BAR bất cứ khi nào chủ đề Holo được chọn. Khuôn khổ ném ngoại lệ bất cứ khi nào một ứng dụng gọi setFeatureInt(Window.FEATURE_CUSTOM_TITLE)FEATURE_ACTION_BAR đã được đặt. nó bị hỏng vì Holo sử dụng ActionBar theo mặc định. Việc sửa chữa rất đơn giản. Xoay ActionBar tắt khi sử dụng Holo

+0

Khi tôi thay đổi cha mẹ, nó than phiền về việc kết hợp tùy chỉnh các tính năng với các tính năng khác. Vì vậy, ứng dụng gặp sự cố. –

+0

@CoteMounyo đã chỉnh sửa câu trả lời của tôi vì lý do tai nạn – DjHacktorReborn

+0

Cảm ơn bạn đã trợ giúp. Nhưng tôi không hiểu chỉnh sửa của bạn. Mã cuối cùng trông như thế nào? –

0

Hủy bỏ dòng này từ phong cách của bạn

<item name="android:background">#323331</item> 

vì nó là thuộc tính nền phản ánh hành vi.

0

Có hai cách để đạt được điều này. Phương pháp đầu tiên bằng cách thay đổi theme của ứng dụng của bạn

phương pháp đầu tiên:

AndroidManifest.xml

Xem android: theme

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    ... 
    ... 
    </application> 

res/values ​​/ phong cách. xml

Theme.AppCompat.Light.DarkActionBar làm cho gạch chân EditText

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
</style> 

Chỉ cần sử dụng EditText trong cùng một cách

<EditText 
     android:layout_width="match_parent" 
     android:layout_height="48dp" 
     android:hint="Email Address" 
     android:inputType="textMultiLine" 
     android:textSize="16dp" /> 

phương pháp thứ hai:

Tạo đối tượng vẽ được hình dạng với đột quỵ dưới và thiết lập nó như là nền tảng của EditText

tạo một tệp có thể rút được gọi là res/drawable/stroked_edittext_bg.xml đã nói trong t ông bên dưới liên kết:

How To Create An Android Shape With Bottom Stroke

<EditText 
     android:layout_width="match_parent" 
     android:layout_height="48dp" 
     android:background="@drawable/stroked_edittext_bg" 
     android:hint="Email Address" 
     android:inputType="textMultiLine" 
     android:textSize="16dp" /> 
0

nó có thể được đạt được, nếu bạn thay đổi theme cho EditText.

<EditText 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:inputType="textPersonName" 
     android:text="Name" 
     android:theme="@android:style/Theme.Holo" 
     android:ems="10" 
     android:id="@+id/editText" 
     android:layout_below="@+id/textView" 
     android:layout_centerHorizontal="true" />