15

đây là mã của tôiThay đổi độ dày của Điểm mấu chốt của EditText khi quấn vào TextInputLayout

Markup XML

<android.support.design.widget.TextInputLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/TextLabel"> 

    <EditText 
     android:id="@+id/etContactName" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:hint="Contact Name"/> 

</android.support.design.widget.TextInputLayout> 

Phong cách

<style name="TextLabel" parent="TextAppearance.AppCompat"> 
    <item name="android:textColorHint">@color/hintColor</item> 
    <item name="colorAccent">@color/primaryColor</item> 
    <item name="colorControlNormal">@color/hintColor</item> 
    <item name="colorControlActivated">@color/primaryColor</item> 
</style> 

Đây là kết quả
(xem bình thường)
Normal View

(tập trung xem)

Focused View

Bây giờ vấn đề của tôi/Những vấn đề

  1. tôi muốn điểm mấu chốt là mỏng hơn. nơi tôi nên thay đổi nó.
  2. Con trỏ nhấp nháy không hiển thị, cách hiển thị nó.
  3. EditText tự động làm nổi bật các lỗi chính tả. Tôi cần phải dừng lại.

Mọi người có thể vui lòng chỉ cho tôi đúng cách để giải quyết vấn đề. Bình luận cho bạn bất cứ ai cần thêm thông tin để trả lời câu hỏi này.

Xin cảm ơn trước.

+0

Bạn giải quyết vấn đề này bằng cách nào? Bạn có thể chia sẻ với chúng tôi không? – Selin

+0

@Selin: Đã đăng giải pháp của tôi –

Trả lời

25

Tôi đã giải quyết vấn đề của mình bằng cách sử dụng xml tùy chỉnh có thể vẽ của tôi. Có thể có một số cách tốt hơn, nhưng tôi không thể tìm thấy bất kỳ. sau đây là điều tôi có thể vẽ được mà tôi đang sử dụng làm nền của hộp văn bản

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true"> 
     <layer-list > 
      <item 
       android:bottom="1dp" 
       android:left="-2dp" 
       android:right="-2dp" 
       android:top="-2dp"> 
       <shape android:shape="rectangle" > 
        <stroke 
         android:width="0.5dp" 
         android:color="@color/primaryColor" /> 

        <solid android:color="#00FFFFFF" /> 

        <padding android:left="3dp" 
         android:right="3dp" 
         android:top="3dp" 
         android:bottom="3dp" /> 
       </shape> 
      </item> 

     </layer-list> 
    </item> 
    <item android:state_focused="true"> 
     <layer-list > 
      <item 
       android:bottom="1dp" 
       android:left="-2dp" 
       android:right="-2dp" 
       android:top="-2dp"> 
       <shape android:shape="rectangle" > 
        <stroke 
         android:width="0.5dp" 
         android:color="@color/primaryColor" /> 

        <solid android:color="#00FFFFFF" /> 

        <padding android:left="3dp" 
         android:right="3dp" 
         android:top="3dp" 
         android:bottom="3dp" /> 
       </shape> 
      </item> 

     </layer-list> 
    </item> 
    <item> 
     <layer-list > 
      <item 
       android:bottom="1dp" 
       android:left="-2dp" 
       android:right="-2dp" 
       android:top="-2dp"> 
       <shape android:shape="rectangle" > 
        <stroke 
         android:width="0.5dp" 
         android:color="#BCBCBC" /> 

        <solid android:color="#00FFFFFF" /> 

        <padding android:left="3dp" 
         android:right="3dp" 
         android:top="3dp" 
         android:bottom="3dp" /> 
       </shape> 
      </item> 

     </layer-list> 
    </item> 

</selector> 
+0

Cuối cùng, cảm ơn. Điều này làm việc cho tôi, sau khi cố gắng như 20 điều khác nhau được đề cập trong các bài viết khác – cfl

+0

@cfl: Tôi rất vui vì nó đã giúp bạn. :-) –

+0

Cảm ơn một tấn sir. Đã thử rất nhiều thứ nhưng điều này làm việc ở cuối. – Pavan

1

EditText màu đáy

android:backgroundTint="@color/yourcolor" 

Để vô hiệu hoá kiểm tra chính tả thêm mã trong EditText xml của bạn

android:inputType="textNoSuggestions" 

Tạo một tệp XML với cái tên "EditTextStyle.xml" trong thư mục drawable trong dự án của bạn và viết mã sau đây:

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

    <shape xmlns:android="http://schemas.android.com/apk/r..." 
    android:thickness="0dp" 
    android:shape="rectangle"> 
    <stroke android:width="3dp" 
    android:color="#4799E8"/> 
    <corners android:radius="5dp" /> 
    <gradient 
    android:startColor="#C8C8C8" 
    android:endColor="#FFFFFF" 
    android:type="linear" 
    android:angle="270"/> 
    </shape> 

Bây giờ thêm attri sau bute cho EditText của bạn:

 <EditText  

     android:background="@drawable/EditTextStyle"/> 
+0

Tôi có thể thay đổi màu dưới EditText, tôi cần thay đổi chiều rộng nét mỏng hơn. –

+0

xem câu trả lời cập nhật của tôi – sasikumar

Các vấn đề liên quan