Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Программирование Android Почему моя иконка меньше, чем у других приложений? Здравствуйте. Создаю иконку в Photoshope по макету, который представлен от гугла. Далее для масштабирования на разных устройствах в Android studio, через Image Assest добавляю ранее созданную иконку,подгоняю, масштабирую, все вроде норм. Но на устройстве все иконки других приложений больше чем то которое создал я. В чем причина? https://www.cyberforum.ru/ android-dev/ thread1952966.html Программирование Android Как разделять число по разрядам?
Здравствуйте. Как разделить число по разрядам запятой?прим. 123,456,789,112.001 Число считывается с Buttona и записываются в переменную типа String,а перед этим для отображения добавляются в TextView. Не могу понять, как реализовать?
Программирование Android Android кнопка “войти” работает только в главной активити (Navigation Drawer) https://www.cyberforum.ru/ android-dev/ thread1952909.html
в приложении несколько активити с Navigation Drawer, в nav_header главной сделал onClickListener на кнопку Войти, остальные активити наследуют от главной, но кнопка в них не работает, причем другие методы прописанные в main_window.java работают. то же самое и с другими элементами, например кнопки с одинаковыми id. В главной активити: Button button_name; onCreate{ ...
Программирование Android Как повесить запрос пароля на кнопку? Добрый день! Подскажите как можно повесить запрос пароля при нажатии кнопки? https://www.cyberforum.ru/ android-dev/ thread1952876.html
Программирование Android Доступ к Spinner из другой активити
У меня есть последовательные спиннеры: spinner1 (bmv, lexus, honda), spinner2 (модель марки bmv (выбрал в spinner1 bmv). Выбираю значение из spinner1 и в onItemSelected с помощью if(position ==) в spinner2 меняю на нужный ArrayAdapter adapter = ArrayAdapter.createFromResource. spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public...
Программирование Android Подключение к MS SQL Server https://www.cyberforum.ru/ android-dev/ thread1952603.html
У меня есть база данных в MS Sql Server, как мне подключиться к ней с Android. Само приложение, для коннекта, я сделал, я не пойму какой IP-адрес нужно прописать в Android для подключение к localhost? Или MS как-то нужно настроить?
Программирование Android Из EditText в БД записывается мусор https://www.cyberforum.ru/ android-dev/ thread1952473.html
При сохранении данных из EditText в БД, получается вон та фигня, что на картинке: Код: for (int i = 0; i <= masOfEditName.size() - 1; i++){ ContentValues cv = new ContentValues(); cv.put(dbHelper.colPrice, Integer.parseInt(masTextOfEditSumma.get(i))); cv.put(dbHelper.colName, String.valueOf(masOfEditName.get(i))); ...
Неправильно накладывается текст на изображение Программирование Android
Здравствуйте форумчане! Столкнулся с проблемой, пользователь делает фотографию, отправляет это изображение на сервер. Далее, это изображение можно скачать с сервер и на ней появится текст, но дело в том, что из-за разных моделей телефонов с их разными возможностями камер, текст не всегда встает равно, как задумывалось, уже долго бьюсь с этой проблемой, если я правильно наслышан, то, как мне...
Программирование Android Java.util.zip.ZipException: duplicate entry: net/sourceforge/jtds/jdbc/BlobImpl.class https://www.cyberforum.ru/ android-dev/ thread1952253.html
Ошибка: Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'. > com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: net/sourceforge/jtds/jdbc/BlobImpl.class Gradle module: apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion '25.0.0' defaultConfig {
Программирование Android Calendar непонятки В этой ветке народ вроде поактивней. Скопирую ссыль на свой вопрос. https://www.cyberforum.ru/java-j2se/thread1951412.html может будут у кого идеи почему так? https://www.cyberforum.ru/ android-dev/ thread1952054.html
Программирование Android Жизненный цикл фрагментов
В программе есть 2 фрагмента. один заменяется другим при наступлении определенного события(общий контейнер у них). я забиндил на onPause первого фрагмента, чтобы объект из памяти закидывался в БД на втором фрагменте отображаются все эти объекты( и старые, и, по задумке тот, который был на первом фрагменте мгновение назад) но вот незадача: onResume второго фрагмента вызывается раньше onPause...
Программирование Android Не могу передать контекст фрагмента в addTextChangedListener https://www.cyberforum.ru/ android-dev/ thread1951767.html
Сначала код был в Activity - все работало. Перенес во Fragment - перестало работать. Подчеркивает this в этой строке: edPrice.addTextChangedListener(this); View.OnClickListener FAB_add = new View.OnClickListener() { @Override public void onClick(View v) { LinearLayout item = (LinearLayout) getActivity()
2883 / 2295 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
04.04.2017, 17:13 0

Программно задавать layout_gravity для custom view - Программирование Android - Ответ 10294050

04.04.2017, 17:13. Показов 2538. Ответов 8
Метки (Все метки)

Лучший ответ Сообщение было отмечено mrgaric как решение

Решение

так я и пытаюсь объяснить - при создании вьюшки не получится задать гравити, то есть его задать можно, но layoutParams "слетят" после того как эту вьюшку заинфлейтит адаптер

поэтому в разметку вьюшки добавить сразу Framelayout и тогда можно будет назначать гравити на containerBackground

разметка ItemMessage
Кликните здесь для просмотра всего текста
XML
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
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
 
    <LinearLayout
        android:id="@+id/container_background"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">
 
        <TextView
            android:id="@+id/text_view_sender"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ellipsize="end"
            android:maxLines="1"
            android:textColor="@color/colorAccent"
            tools:text="Test Test Test Test" />
 
        <TextView
            android:id="@+id/text_view_message"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:autoLink="web|phone|map|email"
            android:textAppearance="@style/Base.TextAppearance.AppCompat.Large"
            tools:text="Test Test Test " />
 
    </LinearLayout>
 
</FrameLayout>

покоцаный класс, что-бы у себя я мог запустить
Кликните здесь для просмотра всего текста
XML
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
public class ItemMessage extends LinearLayout {
 
    private TextView message;
    private TextView sender;
    private LinearLayout containerBackground;
 
    private int type;
 
    public static final int TYPE_IN = 0x00000000;
    public static final int TYPE_OUT = 0x00000001;
 
    public ItemMessage(Context context) {
        super(context);
    }
 
    public ItemMessage(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        initAttrs(attrs);
    }
 
    public ItemMessage(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        initAttrs(attrs);
    }
 
    private void initAttrs(AttributeSet attrs){
        LayoutInflater.from(getContext()).inflate(R.layout.widget_item_message, this);
        message = (TextView) findViewById(R.id.text_view_message);
        sender = (TextView) findViewById(R.id.text_view_sender);
        containerBackground = (LinearLayout) findViewById(R.id.container_background);
 
        final TypedArray typedArray = getContext().obtainStyledAttributes(attrs, R.styleable.ItemMessage);
        if (typedArray != null) {
            if (typedArray.getString(R.styleable.ItemMessage_message_text) != null) {
                setTextMessage(typedArray.getString(R.styleable.ItemMessage_message_text));
            }
            if (typedArray.getString(R.styleable.ItemMessage_sender_name) != null) {
                setSender(typedArray.getString(R.styleable.ItemMessage_sender_name));
            }
            setType(typedArray.getInteger(R.styleable.ItemMessage_message_type, TYPE_IN));
            typedArray.recycle();
        }
    }
 
    public void setTextMessage(String textMessage){
        message.setText(textMessage);
    }
 
    public void setSender (String senderName){
        sender.setText(senderName);
    }
 
    public void setType (int type){
        this.type = type;
        if (type == TYPE_IN){
            sender.setVisibility(VISIBLE);
//            containerBackground.setBackgroundResource(R.drawable.in_message);
            FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) containerBackground.getLayoutParams();
            lp.gravity = Gravity.END;
            containerBackground.setLayoutParams(lp);
        } else if (type == TYPE_OUT){
            sender.setVisibility(GONE);
//            containerBackground.setBackgroundResource(R.drawable.out_message);
        } else throw new IllegalArgumentException("Unknown type" + type);
    }
 
    public int getType() {
        return type;
    }
}


Добавлено через 13 минут
я большой любитель писать кастомные вьюшки, но в этом случае лично я бы не делал это все
много лишних телодвижений - атрибуты, методы в кастомной вьюхе

эти два текстовых поля и фон на вьюшку сеттятся в адаптере в три строки + условие-проверка на тип вьюшки
и от типа вьюшки назначаем гравити на containerBackground (три строки)

все, PROFIT

Вернуться к обсуждению:
Программно задавать layout_gravity для custom view Программирование Android
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2017, 17:13
Готовые ответы и решения:

Программно установить android:layout_gravity="bottom"
android:layout_gravity=&quot;bottom&quot; Не могу из кода вызвать этот метод, использую LinearLayout,...

Gallery and custom view
Пытаюсь разобраться с функционалом Gallery. Несмотря на то, что документация твердит, что возможно...

View Picklist Custom Control
Добрый день. Ребята, нужна ваша помощь или совет. решил у себя сделать кнопку пиклист. Для...

Программно задать цвет фона для View
Возникла проблема с установкой фона для View. Получаю цвет через класс Color Код: ...

8
04.04.2017, 17:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2017, 17:13
Помогаю со студенческими работами здесь

Многократное использование Custom View - как
Привет всем, я новичок в андроид с опытом Java и Flash, и после пары дней бития головой об стену...

Custom view . is missing constructor used by tools
Здравствуйте! В общем, такая проблема: после того, как в конструкторе класса дописал еще один...

Warning: Custom view overrides onTouchEvent but not performClick
У меня есть кастомный view который перегружает onTouchEvent следующим образом. На котором и висит...

Как создавать custom view компоненты с функционалом и присваивать им id?
Доброго времени суток) В моём приложении присутствует кнопка, для которой я хочу реализовать...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru