Форум программистов, компьютерный форум CyberForum.ru

Текст в EditText срезается - Android

Восстановить пароль Регистрация
 
 
ILNAR_93
Android
212 / 212 / 21
Регистрация: 19.01.2013
Сообщений: 1,516
Записей в блоге: 2
27.10.2016, 09:38     Текст в EditText срезается #1
1й вариант с background - нормально показывает

design_bg
XML
1
2
3
4
5
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="30dp"/>
    <stroke android:width="1.5dp"  android:color="@color/design_text_bg_color"/>
</shape>
XML
1
2
3
4
5
6
7
8
9
10
11
 <EditText
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:text="Мамаев"
                android:inputType="textCapWords|textPersonName"
                android:ems="10"
                android:id="@+id/editText"
                android:paddingLeft="25dp"
                android:background="@drawable/design_bg"
                android:layout_marginBottom="30dp"
                android:textSize="18.5sp"/>

Текст в EditText срезается

2й вариант с custom view extends EditText - показывает не нормально


XML
1
2
3
4
5
6
7
8
9
10
11
12
13
<su.we.DesignEdit
                android:text="Мамаев"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:id="@+id/last"
                android:ems="10"
                android:textColor="@color/des_Black"
                android:inputType="textCapWords|textPersonName"
                app:strokeWidth="1.5dp"
                app:strokeColor="@color/color"
                android:paddingLeft="25dp"
                android:layout_marginBottom="30dp"
                android:textSize="18.5sp" />

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public class DesignEdit extends EditText {
    private HelperClass helperClass;
 
    public DesignEdit(Context context, AttributeSet attrs) {
        super(context, attrs);
        helperClass = new HelperClass(context);
        TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.DesignEdit);
 
 
 
 
        final int backgroundColor = a.getColor(R.styleable.DesignEdit_backgroundColor, Color.TRANSPARENT); // по дефолту типа черный
        final int strokeColor = a.getColor(R.styleable.DesignEdit_strokeColor, Color.TRANSPARENT); // по дефолту типа черный
        final int strokeWidth = a.getDimensionPixelSize(R.styleable.DesignEdit_strokeWidth, 0); // по дефолту, от балды 4 пикселя
        final int cornerRadius = a.getDimensionPixelSize(R.styleable.DesignEdit_cornerRadius, 60);
 
 
         a.recycle();
        final GradientDrawable gd = new GradientDrawable();
        gd.setCornerRadius(cornerRadius);
        gd.setColor(backgroundColor);
 
        if (strokeWidth>0) {
            gd.setStroke(strokeWidth, strokeColor);
        }
        if (Build.VERSION.SDK_INT >= 16) {
            setBackground(gd);
        } else {
            setBackgroundDrawable(gd);
        }
 
      
 
    }
}
Текст в EditText срезается
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2016, 09:38     Текст в EditText срезается
Посмотрите здесь:

EditText в диалоге Android
Как сохранить текст с EditText при переходе на другую Activity? Android
Android Очистка EditText
Android Касание в EditText
Android EditText
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fraley
77 / 77 / 28
Регистрация: 24.05.2015
Сообщений: 214
27.10.2016, 10:31     Текст в EditText срезается #2
Я не понимаю зачем мутить кастомный класс, когда все можно сделать в xml?
Паблито
не спать!
1803 / 1537 / 478
Регистрация: 12.05.2014
Сообщений: 5,596
Завершенные тесты: 1
27.10.2016, 10:35     Текст в EditText срезается #3
скопировал себе - все работает и ничего не обрезает
код или разметка неполные мне кажется
на какой версии это?

Добавлено через 52 секунды
Цитата Сообщение от fraley Посмотреть сообщение
Я не понимаю зачем мутить кастомный класс, когда все можно сделать в xml?
в соседней теме он хотел что бы можно было через атрибуты задавать цвет и толщину обводки вьюшки
ILNAR_93
Android
212 / 212 / 21
Регистрация: 19.01.2013
Сообщений: 1,516
Записей в блоге: 2
27.10.2016, 10:42  [ТС]     Текст в EditText срезается #4
Цитата Сообщение от fraley Посмотреть сообщение
Я не понимаю зачем мутить кастомный класс, когда все можно сделать в xml?
Всегда есть нюансы.

Добавлено через 56 секунд
Цитата Сообщение от Паблито Посмотреть сообщение
на какой версии это?
android 6.0 720x1280 320dpi
fraley
77 / 77 / 28
Регистрация: 24.05.2015
Сообщений: 214
27.10.2016, 10:47     Текст в EditText срезается #5
Цитата Сообщение от Паблито Посмотреть сообщение
в соседней теме он хотел что бы можно было через атрибуты задавать цвет и толщину обводки вьюшки
Тему не видел.
Если там не сильно много вариантов, то можно же для каждого стиля сделать свой xml, и подставлять с помощью setBackgroundResource. Нее?
Java
1
editText.setBackgroundResource(R.drawable.rounded_edittext);
ILNAR_93
Android
212 / 212 / 21
Регистрация: 19.01.2013
Сообщений: 1,516
Записей в блоге: 2
27.10.2016, 10:48  [ТС]     Текст в EditText срезается #6
Цитата Сообщение от Паблито Посмотреть сообщение
код или разметка неполные мне кажется
Да сейчас скину.




XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<su.we.DesignEdit
                android:text="Мамаев"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:id="@+id/last"
                android:ems="10"
                android:textColor="@color/des_Black"
                android:inputType="textCapWords|textPersonName"
                app:strokeWidth="1.5dp"
                app:strokeColor="@color/color"
                android:paddingLeft="25dp"
                android:layout_marginBottom="30dp"
                android:textSize="18.5sp" 
                app:fontFamalyNames="SFUIDisplay-Regular.otf" />
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
public class DesignEdit extends EditText {
    private HelperClass helperClass;
 
    public DesignEdit(Context context, AttributeSet attrs) {
        super(context, attrs);
        helperClass = new HelperClass(context);
        TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.DesignEdit);
 
 
 
 
        final int backgroundColor = a.getColor(R.styleable.DesignEdit_backgroundColor, Color.TRANSPARENT); // по дефолту типа черный
        final int strokeColor = a.getColor(R.styleable.DesignEdit_strokeColor, Color.TRANSPARENT); // по дефолту типа черный
        final int strokeWidth = a.getDimensionPixelSize(R.styleable.DesignEdit_strokeWidth, 0); // по дефолту, от балды 4 пикселя
        final int cornerRadius = a.getDimensionPixelSize(R.styleable.DesignEdit_cornerRadius, helperClass.intToDp(30));
 
 
        final String fontFamaly = a.getString(R.styleable.DesignEdit_fontFamalyNames);
        a.recycle();
        final GradientDrawable gd = new GradientDrawable();
        gd.setCornerRadius(cornerRadius);
        gd.setColor(backgroundColor);
 
        if (strokeWidth>0) {
            gd.setStroke(strokeWidth, strokeColor);
        }
        if (Build.VERSION.SDK_INT >= 16) {
            setBackground(gd);
        } else {
            setBackgroundDrawable(gd);
        }
 
        if (fontFamaly!=null && fontFamaly.length()>0){
            setFont(this, fontFamaly.toString());
        }
 
    }
}
 
 
 
public void setFont(View v, String fontName){
        String fontPath = "fonts/" + fontName;
        Typeface typeface = Typeface.createFromAsset(ctx.getApplicationContext().getAssets(), fontPath);
       
        if (v instanceof DesignEdit) {
            ((DesignEdit)v).setTypeface(typeface);
        }
       
 
    }



А первому варианту я шрифт устанавливаю программно при инициализации фрагмента т.е. шрифт и там и тут одинаковый
vxg
Модератор
 Аватар для vxg
2669 / 1680 / 158
Регистрация: 13.01.2012
Сообщений: 6,283
27.10.2016, 10:49     Текст в EditText срезается #7
ILNAR_93, скорее всего высоту плющит - этот элемент может лежать на разметке где будет задана привязка верха и низа или высота и эта высота меньше чем нужно элементу
ILNAR_93
Android
212 / 212 / 21
Регистрация: 19.01.2013
Сообщений: 1,516
Записей в блоге: 2
27.10.2016, 10:53  [ТС]     Текст в EditText срезается #8
Цитата Сообщение от fraley Посмотреть сообщение
Если там не сильно много вариантов
на данный момент 4 варианта цветов, но там не только цвета. есть и бордюр (толщина бордюра и цвет разный)
Паблито
не спать!
1803 / 1537 / 478
Регистрация: 12.05.2014
Сообщений: 5,596
Завершенные тесты: 1
27.10.2016, 11:03     Текст в EditText срезается #9
если не задавать свой шрифт, все показывает корректно?
ILNAR_93
Android
212 / 212 / 21
Регистрация: 19.01.2013
Сообщений: 1,516
Записей в блоге: 2
27.10.2016, 11:14  [ТС]     Текст в EditText срезается #10
Цитата Сообщение от Паблито Посмотреть сообщение
если не задавать свой шрифт, все показывает корректно?
Все влезает, но текст не по центру (расположен чуть выше центра)
Паблито
не спать!
1803 / 1537 / 478
Регистрация: 12.05.2014
Сообщений: 5,596
Завершенные тесты: 1
27.10.2016, 11:20     Текст в EditText срезается #11
XML
1
android:gravity="center_vertical"
не решит проблему?
ILNAR_93
Android
212 / 212 / 21
Регистрация: 19.01.2013
Сообщений: 1,516
Записей в блоге: 2
27.10.2016, 11:32  [ТС]     Текст в EditText срезается #12
Цитата Сообщение от Паблито Посмотреть сообщение
не решит проблему?
Нет.

Я бы грешил на android:layout_height="40dp" но у стандартного EditText тоже такое же значение..
fraley
77 / 77 / 28
Регистрация: 24.05.2015
Сообщений: 214
27.10.2016, 11:34     Текст в EditText срезается #13
Цитата Сообщение от ILNAR_93 Посмотреть сообщение
на данный момент 4 варианта цветов, но там не только цвета. есть и бордюр (толщина бордюра и цвет разный)
Так вопрос в том сколько всего вариантов будет использоваться?
Если всего 4-е, то я бы сделал файлы xml.
ILNAR_93
Android
212 / 212 / 21
Регистрация: 19.01.2013
Сообщений: 1,516
Записей в блоге: 2
27.10.2016, 11:36  [ТС]     Текст в EditText срезается #14
Паблито, А у тебя как отображается? можешь заскринить ?

Добавлено через 1 минуту
Цитата Сообщение от fraley Посмотреть сообщение
Если всего 4-е, то я бы сделал файлы xml.
Ну если так как я делаю не получиться то сделаю xml)..
Паблито
не спать!
1803 / 1537 / 478
Регистрация: 12.05.2014
Сообщений: 5,596
Завершенные тесты: 1
27.10.2016, 11:40     Текст в EditText срезается #15
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
<company.testproject.DesignEdit
        android:id="@+id/last"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:layout_marginBottom="30dp"
        android:ems="10"
        android:inputType="textCapWords|textPersonName"
        android:gravity="center_vertical"
        android:paddingLeft="25dp"
        android:text="Мамаев"
        android:textSize="18.5sp"
        app:strokeColor="#818181"
        app:strokeWidth="1.5dp" />
Текст в EditText срезается
Паблито
не спать!
1803 / 1537 / 478
Регистрация: 12.05.2014
Сообщений: 5,596
Завершенные тесты: 1
27.10.2016, 11:41     Текст в EditText срезается #16
а блин, это 48dp, щас сделаю 40 высотуТекст в EditText срезается
ILNAR_93
Android
212 / 212 / 21
Регистрация: 19.01.2013
Сообщений: 1,516
Записей в блоге: 2
27.10.2016, 11:52  [ТС]     Текст в EditText срезается #17
Тоже вверх ушло, а какая в этом случае разница между

<EditText
android:layout_width="match_parent"
android:layout_height="40dp"

и кастомным ? У обеих 40dp у одного влезает и по центру у другого нет.
Паблито
не спать!
1803 / 1537 / 478
Регистрация: 12.05.2014
Сообщений: 5,596
Завершенные тесты: 1
27.10.2016, 11:56     Текст в EditText срезается #18
у стандартного эдиттекста высота 48dp, а не 40
хотя нет...около 44
ILNAR_93
Android
212 / 212 / 21
Регистрация: 19.01.2013
Сообщений: 1,516
Записей в блоге: 2
27.10.2016, 12:00  [ТС]     Текст в EditText срезается #19
Паблито, я ж задаю и стандартному android:layout_height="40dp" или это не то?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2016, 12:06     Текст в EditText срезается
Еще ссылки по теме:

Android Смайлы и EditText
Валидация в EditText Android
Кастомный EditText Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Паблито
не спать!
1803 / 1537 / 478
Регистрация: 12.05.2014
Сообщений: 5,596
Завершенные тесты: 1
27.10.2016, 12:06     Текст в EditText срезается #20
в моей вселенной если задать стандартному EditText даже 44dp то текст начнет уходить вверх
то есть поведение такое же как и в кастомном
Yandex
Объявления
27.10.2016, 12:06     Текст в EditText срезается
Ответ Создать тему
Опции темы

Текущее время: 16:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru