Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
SakaD
12 / 12 / 5
Регистрация: 23.05.2011
Сообщений: 78
1

Динамическое создание кнопок и их кривая отрисовка

06.09.2013, 14:03. Просмотров 1076. Ответов 1
Метки нет (Все метки)

Всем доброго времени суток.

Имеется такая процедура(хотя в данном случае правильнее функция).
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
private void SetButtons()
    {
        int RowCount,ButtonsCount,Left = 0,Top,
            RowStep,ColStep;                
        RowStep = buttonW + buttonI;
        ColStep = buttonH + buttonI;
        RowCount = aWidth / RowStep;        
        
        ButtonsCount = RowCount * (aHeight / ColStep);
        
        Top = -ColStep;
            View view = fOwner.findViewById(R.id.activity_main);
        RelativeLayout LayOut = (RelativeLayout)view;                   
 
        for (int i = 0; i < ButtonsCount; i++)
        {   
            if (i % RowCount == 0)  {   Left = 0 ; Top += ColStep;  }
            
            Button mButton = new Button(fOwner);
            mButton.setText(Integer.toString(i));
            LayoutParams Lp = new LayoutParams(buttonW,buttonH);
            Lp.setMargins(Left, Top, buttonW, buttonH);
            mButton.setLayoutParams(Lp);
            LayOut.addView(mButton);    
            Left += RowStep;
        }
    }
/* дабы не возникало лишних вопросов 
 fOwner  - Activity
 aWidth,aHeight = 720*1280 (пока подтянул из fOwner.getWindowManager().getDefaultDisplay()."GetW+H")
 buttonW,buttonH = 150
 buttonI = 0;
*/
и сама Activity

XML
1
2
3
4
5
6
7
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"    
    tools:context=".MainActivity" >
</RelativeLayout>
Смысл ф-ции в том, что должно на экране появиться много кнопок, не более. Но засада в том, что часть из них странно отрисовуются(имеется скрин с железки).
Может кто подскажет где и в чем я прокосячил?

Заранее спасибо)
0
Миниатюры
Динамическое создание кнопок и их кривая отрисовка  
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.09.2013, 14:03
Ответы с готовыми решениями:

Динамическое создание кнопок в цикле (Android)
создаю кнопки по циклу void show(){ public LinearLayout show; ...

Динамическое создание кнопок на Mono Android
Доброго времени суток. Разработку под Андроид начал изучать совсем недавно. Выбрал следующую...

Динамическое создание кнопок
Вот что мне надо осуществить. Имеется кнопка с лаконичным название &quot;itbuttonnumber1mazafaka&quot;. При...

Динамическое создание кнопок
Всем доброго времени суток! Передо мною стала серьезная проблема! Имеется файл &quot;test.txt&quot;, его...

Динамическое создание кнопок
Здравствуйте,подскажите как реализовать данную функцию.Мне нужно,что бы при нажатии кнопки...

1
SakaD
12 / 12 / 5
Регистрация: 23.05.2011
Сообщений: 78
06.09.2013, 17:10  [ТС] 2
Нашел проблему, правда хз с чем она связана...

Java
1
Lp.setMargins(Left, Top, buttonW, buttonH);
заменяем на

Java
1
2
Lp.leftMargin = Left;
Lp.topMargin = Top;
и все "гудово" работает)
0
Миниатюры
Динамическое создание кнопок и их кривая отрисовка  
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.09.2013, 17:10

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Динамическое создание кнопок
Всем, привет! Помогите, пожалуйста, у меня есть такой код программы, где создаются кнопки...

Динамическое создание кнопок.
Можно сделать так, чтобы при нажатии на одну кнопку создавалась (не появлялась) кнопка?

Динамическое создание кнопок
Как создать кнопку, я примерно представляю: TSpeedButton *lbl; lbl=new TSpeedButton(this);...


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

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

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