2016-08-20 7 views
0

Как вы можете видеть на рисунке ниже, я помещаю GradientDrawable в качестве фона текстового поля.GradientDrawable border textview обрезано

Результат выглядит странно: текст обрезается.

Result

И есть код:

GradientDrawable border = new GradientDrawable(); 
    border.setColor(0x00FFFFFF); 
    border.setStroke(1,Color.GRAY); 
    border.setCornerRadius(size); 

    EditText surname = new EditText(this); 
    surname.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM); 
    surname.setBackground(border); 
    surname.setTypeface(Stats.fontRegular); 
    FrameLayout.LayoutParams lps = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, size_x); 
    surname.setLayoutParams(lps); 
    view.addView(surname); 

Если вы знаете способ uncrop текст это будет очень полезно для меня :)

+0

Что 'size_x' и почему вы установить его в качестве высоты? Это обрезает текстовое представление. –

ответ

0

Я нашел что-то, что работает:

Когда вы используете EditText, кажется, что внутри представления есть некоторые прокладки. Таким образом, вы можете «отключить» их с помощью

EditText.setPadding(int left, int top, int right, int bottom) 
0

Вы можете изменить гравитацию с этот код XML:

<TextView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center" 
    android:text="@string/**yourstringname**" 
/> 
+0

Извините, но я не использую XML, потому что я устанавливаю почти каждый параметр представлений программным путем. И вы можете видеть на Java, что я уже пытаюсь изменить гравитацию. – Kemix

+0

Попробуйте изменить эту переулок код: surname.setGravity (Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL); – LychmanIT

+0

@ LynchmanIT: ничего не меняет – Kemix

0

Попробуйте это:

GradientDrawable border = new GradientDrawable(); 
border.setColor(0x00FFFFFF); 
border.setStroke(1,Color.GRAY); 
border.setCornerRadius(size); 
border.setSize(450, 150); 

 Смежные вопросы

  • Нет связанных вопросов^_^