API 21

2014-10-21 13 views
10

'da EditText dolgulama çalışmaz. API 21'de EditText dolgulama çalışmaz. Boş projede, yalnızca tek bir editText ile çalışıyorum, ancak yine de çalışmıyor.API 21

Set doldurma programlı olarak çalışır, ancak iş projemde, farklı dolgularla ve birçok programlı olarak programlı olarak doğru bir şekilde ayarlanmamış EditTexts yapıyorum.

API düzeyinde 19 xml dolgu iyi çalışır.

Çözüm var mı?

Bu benim EditText xml kodu: Sonuç olarak

<EditText 
    android:id="@+id/et_text" 
    android:text="Text" 
    android:paddingLeft="20dp" 
    android:paddingStart="20dp" 
    android:paddingRight="20dp" 
    android:paddingEnd="20dp" 
    android:layout_marginLeft="30dp" 
    android:layout_marginRight="30dp" 
    android:layout_width="match_parent" 
    android:layout_height="45dp"/> 

, bende: enter image description here

beklediğim:

enter image description here

+1

Aynı sorun burada. Benim editiflerim, API 21'e güncellendikten sonra dolgulamayı uygulayamaz. –

cevap

8

Bu android hatasıdır. Gelecekte düzeltilecek.

Bug report on google code.

+1

hatası 18 aralıkta kapatıldı, umarım bir sonraki sürümde piyasaya sürülecektir ... Ne? – IlyaEremin

+0

Bu, 'android: paddingStart' kullanılarak yapılan işlemin düzeltilmesi gibi görünmüyor –

1

deneyin kullanarak programlı doldurma vermek üzere method setLayoutParams() çalışacağım umarım umarım Ref: Example

+1

Projemde, farklı kaplamalarla ve programlı olarak dolgu malzemesiyle çok sayıda edittex kullanıyorum - bu görevi çözmenin tam bir yolu değil. – user3134124

+2

Yastığın programsal olarak çalıştığını doğrulamakla birlikte, @ user3134124 ile hemfikir olduğumu onaylıyorum. – tokudu

-1

android standart EditText kullanarak tarzlarda bunu çözüldü: gerçekten

<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> 
    <item name="android:editTextStyle">@android:style/Widget.EditText</item> 
</style> 
0

değil soruna en iyi yolu, ama benim için çalışır: android ayarlayabilirsiniz: layout_height bazı sabit bir değere nitelik ve android set: yerçekimimerkezi veya center_vertical

<EditText 
     ... 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:gravity="center" 
     .../> 
4

Düzeltme ile özel bir edittext oluşturarak ve xml'de kullanabilirsiniz. Neyse ve düzeltmeler bu cihazlara bu hata olması gerektiği gibi

0

Sadece android:paddingStart ile android:paddingLeft yerine

public class MyEditTextView extends EditText{ 

public MyEditTextView(Context context) { 
    super(context); 
    init(); 
} 

public MyEditTextView(Context context, AttributeSet attrs) { 
    super(context, attrs); 
    init(); 
} 

public MyEditTextView(Context context, AttributeSet attrs, int defStyleAttr) { 
    super(context, attrs, defStyleAttr); 
    init(); 
} 

private void init(){ 
    int paddingLeftRight = (int) getResources().getDimension(R.dimen.edittext_padding); 
    int topPadding = this.getPaddingTop(); 
    int bottomPadding = this.getPaddingBottom(); 
    setPadding(paddingLeftRight, topPadding, paddingLeftRight, bottomPadding); 
} 

}.

İlgili konular