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

Задать программно leftMargin для RelativeLayout - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Запретить редактировать часть текста EditText http://www.cyberforum.ru/android-dev/thread1380076.html
Допустим есть 380(**)***-**-** как запретить редактировать 380 ?
Программирование Android Запуск рандомного трека через MediaPlayer У меня есть необходимость, запустить музыку в приложение. Таким образом запускается у меня один трек, который играется по другу. предположим, у меня есть несколько треков, и я хочу, что они игрались рандомно выбирались и игрались по кругу. как это сделать? public void onCreate() { player = MediaPlayer.create(this, R.raw.trackmp3); player.setLooping(true); http://www.cyberforum.ru/android-dev/thread1380032.html
CPA статистика для android приложений Программирование Android
С приятелем написали простенькое приложение для андроида. И вот подумали запустить его как оффер в CPA-сети (оплата за действие) в нашем случае действие будет установка приложения. Так вот вопрос: CPA - сети выдают специальную ссылку вебмастерам, которые нагоняют траффик на приложение, и после того как пользователь установил приложение, с нашего счета снимается денюжка. Как нам лучше...
Программирование Android Создание apk файла
Есть исходник готового приложения, подскажите как его собрать в APK что бы можно было посмотреть, работу приложения Установил программу BlueStacks App Player что бы можно было протестировать
Программирование Android Программа на Android http://www.cyberforum.ru/android-dev/thread1379965.html
Всем привет. У меня возник вопрос...как написать своё приложение. Изложу суть что я хочу: В приложении должна быть авторизация через WG ID, далее вводиться НИКНЕЙМ, и через WG API показывает данные о этом юзере. На чём лучше писать?Eclipse, Android Studio? И как это сделать... Спасибо.
Программирование Android Добавление подд. онлайна в готовое приложение, улучшение дизайна Добрый день! Имеется готовое приложение на Android, кулинарная книга с расширенным функционалом. Имеется также БД, вшитая в приложение (SQLite). Необходимо реализовать поддержку какого-либо онлайн-обновления БД приложения, также, возможно, реализация какой-то онлайн социальной составляющей, возможно, улучшение дизайна. После ознакомления с приложением, приветствуются предложения по его улучшению... подробнее

Показать сообщение отдельно
NEvOl
19 / 18 / 0
Регистрация: 13.08.2012
Сообщений: 720

Задать программно leftMargin для RelativeLayout - Программирование Android

22.02.2015, 09:25. Просмотров 889. Ответов 5
Метки (Все метки)

Имеется заготовка view:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/market_layout"
    android:orientation="horizontal">
    <HorizontalScrollView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/horizontalScrollView"
        android:layout_gravity="center_horizontal"
        android:layout_weight="1">
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:id="@+id/market_linear_layout_in_hsv">
 
        </LinearLayout>
    </HorizontalScrollView>
</LinearLayout>
В LinearLayout с id = market_linear_layout_in_hsv программно добавляются RelativeLayout (которые в себе содержат Button, TextView, ImageView).
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
52
53
54
55
56
57
58
59
60
61
62
63
64
//ищем LinearLayout с id = market_linear_layout_in_hsv
        market_ll = (LinearLayout)findViewById(R.id.market_linear_layout_in_hsv);
//создаем параметры отображения для TextView, ImageView, Button
        RelativeLayout.LayoutParams TVParams = new RelativeLayout.LayoutParams(RLwrapContent, RLwrapContent );
        RelativeLayout.LayoutParams IVParams = new RelativeLayout.LayoutParams(250, 400);
        RelativeLayout.LayoutParams BParams = new RelativeLayout.LayoutParams(RLwrapContent, RLwrapContent);
//устанавливаем параметры отображения для компонентов RelativeLayout
        TVParams.addRule(RelativeLayout.ALIGN_PARENT_TOP, RelativeLayout.TRUE);
        TVParams.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE);
 
        IVParams.addRule(RelativeLayout.CENTER_VERTICAL, RelativeLayout.TRUE);
        IVParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE);
 
        BParams.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE);
        BParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);
//создаем параметры отображения для наших RelativeLayout
        ViewGroup.MarginLayoutParams mlp = new ViewGroup.MarginLayoutParams(RLMatchParent, RLMatchParent);
 
        if (folder.exists()) {
            String[] files = folder.list();
            relationsIdMarket = new ArrayList<RelationsIdMarket>(files.length);
            for (int i = 0; i < files.length; i++){
//для первого RelativeLayout нужно установить отступ с лева 100
                mlp.leftMargin = i==0?100:0;
//создание элементов и установка им свойсв
                RelationsIdMarket rim = new RelationsIdMarket();
 
                rim.idProduct = i;
                rim.idTextView = ViewIdGenerator.generateViewId();
                rim.idImageView = ViewIdGenerator.generateViewId();
                rim.idButton = ViewIdGenerator.generateViewId();
 
                TextView tv = new TextView(this);
                tv.setText("Название");
 
                tv.setId(rim.idTextView);
 
                ImageView iv = new ImageView(this);
                if(GeneralData.images.size() == i)
                    GeneralData.images.add(BitmapFactory.decodeFile(pathToImg+"/"+files[i]));
 
                iv.setImageBitmap(GeneralData.images.get(i));
 
                iv.setId(rim.idImageView);
                iv.setImageBitmap(rp.bmp);
 
                Button btn = new Button(this);
                btn.setText("Открыть");
                btn.setOnClickListener(this);
 
                btn.setId(rim.idButton);
//создаем наш RelativeLayout 
                RelativeLayout rl = new RelativeLayout(this);
//добавляем в него TextView ImageView Button с нужными параметрами
                rl.addView(tv, TVParams);
                rl.addView(iv, IVParams);
                rl.addView(btn, BParams);
                rl.setPadding(50, 0, 50, 0);
//добавляем наш RelativeLayout в LinearLayout
                market_ll.addView(rl, mlp);
 
                relationsIdMarket.add(rim);
            }
        }
но отступ у первого RelativeLayout не устанавливается,
пробовал так:
Java
1
2
3
4
//создаем свойства отображения для RelativeLayout  
RelativeLayout.LayoutParams RLParams = new RelativeLayout.LayoutParams(RLMatchParent, RLMatchParent);
//устанавливаем отступы
RLParams.setMargins(100, 0, 0,0);
Так тоже не работает, не могу понять в чем проблема ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru