2015-03-28 18 views
7

tôi lãng phí một giờ cố gắng tìm hiểu làm thế nào để thoát khỏi đệm này trong EditText đơn giản: enter image description hereLàm thế nào để loại bỏ EditText padding drawable?

Tất cả tôi muốn là để gắn kết các đầu vào với phần còn lại của nội dung, giống như người đẹp design guide nói .

Cách bố trí không thể đơn giản hơn:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:tools="http://schemas.android.com/tools" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      tools:context="com.actinarium.tiomantas.SetupChallengeFragment"> 

    <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:padding="16dp" 
      android:orientation="vertical"> 

     <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="@string/new_challenge_name"/> 

     <EditText 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 

       android:hint="@string/new_challenge_name_hint1" 
       android:singleLine="false"/> 

    </LinearLayout> 

</ScrollView> 

tôi đã cố gắng thiết lập padding trên EditText để 0dp - văn bản chuyển nhưng dòng vẫn như vậy. Thật kỳ lạ, tôi không thể tìm thấy bất kỳ thông tin nào về vấn đề này, như thể không có ai để ý.

+0

T.B. Một cái gì đó nói với tôi rằng, giống như với bất cứ điều gì khác trong Android, ngay cả đối với điều tầm thường này, tôi sẽ phải tạo ra các sản phẩm riêng ... Tôi tự hỏi tại sao các vật dụng gốc của chúng không tuân theo đặc điểm thiết kế riêng của chúng ... – Actine

Trả lời

9

Tôi nghĩ rằng dòng này là hình nền cho EditText nên việc thay đổi phần đệm sẽ không ảnh hưởng đến nó. Nếu bạn muốn, bạn có thể tạo một nền tùy chỉnh có thể vẽ mà không có đệm.

Một hack you có thể làm là thêm một biên độ tiêu cực đến EditText:

 <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="-4dp" 
      android:hint="@string/new_challenge_name_hint1" 
      android:singleLine="false"/> 
+0

Nhìn vào ứng dụng danh bạ. Có vẻ như các nhà phát triển google theo con đường này và chỉ chiếm 4 dips quá mức. Tôi thành thật nghĩ rằng sẽ có một giải pháp đẹp hơn. Và trong Fit họ chỉ để nó như là – Actine

+0

Vâng tôi đồng ý, nên có cách tốt hơn để làm điều này. –

+0

Là người cầu toàn hút :) Bây giờ tôi lo lắng điều này sẽ phá vỡ khi họ tung ra một ngôn ngữ thiết kế mới :) – Actine

-1
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.actinarium.tiomantas.SetupChallengeFragment"> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:orientation="vertical" 
    android:layout_height="wrap_content"> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:padding="16dp" 
     android:orientation="vertical"> 

     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="jhjkhkhkjkljlkjkljlkj"/> 

    </LinearLayout> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 

      android:hint="hjhjhjkhjkhjkhkjhoiuyiyirehyiohj" 
      android:singleLine="false"/> 
    </LinearLayout> 
</LinearLayout> 
</ScrollView> 
+0

hãy giải thích lý do tại sao những thay đổi bạn đã thực hiện sẽ giải quyết được vấn đề - vì giải pháp của bạn làm tăng độ sâu/độ phức tạp của bố cục. – Vikram

+0

Bạn có làm theo liên kết đến hướng dẫn và sau đó tự mình thử giải pháp của mình không? .. – Actine

2

Hãy thử đưa "4dp" đệm cho textView. Vì vậy, nó phù hợp với padding editText.

+0

Tôi đã xem xét điều này. Tôi không hoàn toàn chắc chắn rằng mặc dù workaround này sẽ không phá vỡ giao diện người dùng trong pre-Lollipop (và điều cuối cùng tôi muốn là có rất nhiều phiên bản XML cụ thể) – Actine

+0

Tôi đồng ý với bạn. Nhưng đó là một công việc nhỏ xung quanh. Tôi đã kiểm tra kết quả của việc thêm padding vào thiết bị của tôi với 4.4.2 và Emulator với 5.0 và nó có vẻ hoạt động tốt. –

+0

Chỉ cần nhìn vào ứng dụng danh bạ trên kẹo. Có vẻ như các nhà phát triển chỉ chiếm 4dp quá mức đó và làm cho biên độ nhỏ hơn. Blimey ... – Actine

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