Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
ILNAR_93
Android
231 / 231 / 25
Регистрация: 19.01.2013
Сообщений: 1,749
Записей в блоге: 3
#1

Текст в EditText срезается - Программирование Android

27.10.2016, 09:38. Просмотров 400. Ответов 20
Метки нет (Все метки)

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 срезается
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2016, 09:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Текст в EditText срезается (Программирование Android):

Передать текст из EditText на Activity другого приложения - Программирование Android
В книге приводится пример простого мессенджера. Есть кнопка &quot;Send Message&quot; и EditText, куда сообщение вводится. По нажатию кнопки...

Как сохранить текст с EditText при переходе на другую Activity? - Программирование Android
проблема такая что не могу реализовать EditText сохраняет данные в буфер или еще куда-то при переходе на следующую Acitivity

Ввод в один EditText и авто-вычисление в двух других EditText - Программирование Android
Всем привет. Есть три поля EditText,виртуальные клавиатуры у всех заблокированы,а ввод чисел в поле осуществляется с Button(ов). Вопрос...

EditText смещается вниз при вводе текста, который занимает объём больше, чем EditText - Программирование Android
EditText сещается вниз при вводе текста который занимает обём больше чем EditText. Как устранить?

EditText - Программирование Android
Не работает пример взятый из книги myEditText.setOnKeyListener(new OnKeyListener() { public boolean onKey(View v, int...

Edittext - Программирование Android
Как проверить находится ли edittext в фокусе?

20
fraley
106 / 106 / 40
Регистрация: 24.05.2015
Сообщений: 322
27.10.2016, 10:31 #2
Я не понимаю зачем мутить кастомный класс, когда все можно сделать в xml?
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
27.10.2016, 10:35 #3
скопировал себе - все работает и ничего не обрезает
код или разметка неполные мне кажется
на какой версии это?

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

Добавлено через 56 секунд
Цитата Сообщение от Паблито Посмотреть сообщение
на какой версии это?
android 6.0 720x1280 320dpi
0
fraley
106 / 106 / 40
Регистрация: 24.05.2015
Сообщений: 322
27.10.2016, 10:47 #5
Цитата Сообщение от Паблито Посмотреть сообщение
в соседней теме он хотел что бы можно было через атрибуты задавать цвет и толщину обводки вьюшки
Тему не видел.
Если там не сильно много вариантов, то можно же для каждого стиля сделать свой xml, и подставлять с помощью setBackgroundResource. Нее?
Java
1
editText.setBackgroundResource(R.drawable.rounded_edittext);
1
ILNAR_93
Android
231 / 231 / 25
Регистрация: 19.01.2013
Сообщений: 1,749
Записей в блоге: 3
27.10.2016, 10:48  [ТС] #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);
        }
       
 
    }



А первому варианту я шрифт устанавливаю программно при инициализации фрагмента т.е. шрифт и там и тут одинаковый
0
vxg
Модератор
3184 / 1987 / 227
Регистрация: 13.01.2012
Сообщений: 7,676
27.10.2016, 10:49 #7
ILNAR_93, скорее всего высоту плющит - этот элемент может лежать на разметке где будет задана привязка верха и низа или высота и эта высота меньше чем нужно элементу
1
ILNAR_93
Android
231 / 231 / 25
Регистрация: 19.01.2013
Сообщений: 1,749
Записей в блоге: 3
27.10.2016, 10:53  [ТС] #8
Цитата Сообщение от fraley Посмотреть сообщение
Если там не сильно много вариантов
на данный момент 4 варианта цветов, но там не только цвета. есть и бордюр (толщина бордюра и цвет разный)
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
27.10.2016, 11:03 #9
если не задавать свой шрифт, все показывает корректно?
0
ILNAR_93
Android
231 / 231 / 25
Регистрация: 19.01.2013
Сообщений: 1,749
Записей в блоге: 3
27.10.2016, 11:14  [ТС] #10
Цитата Сообщение от Паблито Посмотреть сообщение
если не задавать свой шрифт, все показывает корректно?
Все влезает, но текст не по центру (расположен чуть выше центра)
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
27.10.2016, 11:20 #11
XML
1
android:gravity="center_vertical"
не решит проблему?
0
ILNAR_93
Android
231 / 231 / 25
Регистрация: 19.01.2013
Сообщений: 1,749
Записей в блоге: 3
27.10.2016, 11:32  [ТС] #12
Цитата Сообщение от Паблито Посмотреть сообщение
не решит проблему?
Нет.

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

Добавлено через 1 минуту
Цитата Сообщение от fraley Посмотреть сообщение
Если всего 4-е, то я бы сделал файлы xml.
Ну если так как я делаю не получиться то сделаю xml)..
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
27.10.2016, 11:40 #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 срезается
0
27.10.2016, 11:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2016, 11:40
Привет! Вот еще темы с ответами:

EditText - Программирование Android
В ListView каждый пункт состоит из нескольких EditText, при нажатий на EditText в пункте например 4, фокус ставится в пункт 1 ListView(а),...

Кастомный EditText - Программирование Android
Подскажите, каким образом можно реализовать EditText как на скрине, при этом редактирование происходить только правой части знаю что...

Кастомный EditText - Программирование Android
Как можно внутри EditText установить маску для текста звездочку - * сделать отступы внутри EditText между звездочками например 5dp?

EditText в диалоге - Программирование Android
В такой диалог нужно добавить второй EditText, возможно ли это и (если возможно) то как?


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru