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

Как создать view элементы программно - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Лучший паттерн для Android-приложений http://www.cyberforum.ru/android-dev/thread1308254.html
Последнее время размышляю о том, что следует улучшить архитектуру моего кода. И возник вопрос: что лучше для Android - MVC, MVVM, MVP или вообще что-то еще и как их реализовывать в контексте Android? Ну, и, может, есть книжка по паттернам с примерами на Java, буду признателен.
Программирование Android Как рисовать текст на Canvas во View? Есть ImageView. Я делаю так: Canvas canvas; canvas = new Canvas(); canvas.drawText("Текст", 0, 0, null); А потом уже: img_view.draw(canvas); Но ошибку выбивает. Что писать в -х- -у- и самое главное в paint? http://www.cyberforum.ru/android-dev/thread1308206.html
Мелодия на звонок Программирование Android
Вем привет,у меня есть массив в нем 3 мелодии,как через метод реализовать,чтоб при долгом тапе ,можно было поставить мелодию на звонок ну или на будильник?
Программирование Android GoogleMaps и эмулятор
Здравствуйте. Есть небольшая проблема с эмулятором и картами. Суть того, что я хочу сделать: запустить базовый MapActivity на эмуляторе. В чем проблема: приложение не хочет запускаться, ссылаясь на то, что сервисы Google Play, якобы, не обновлены, хотя скачал все, что можно. Как это можно поправить? P.S. API_KEY сгенерирован и внедрен. P.P.S после нажатия на Update программа крашится.
Программирование Android Книги про программирование под Android http://www.cyberforum.ru/android-dev/thread1307902.html
Решил попробовать работать с этим языком. Посоветуйте литературу.
Программирование Android Динамический список android studio - java Привет. Есть в as какая нибудь удобная штука, чтоб можно было просто создавать список, добавлять и удалять из него элементы? Буду рад ссылочке на сурс, статейку или ответ здесь:) А подробнее

Показать сообщение отдельно
Darth_Sanchez
4 / 4 / 1
Регистрация: 28.04.2013
Сообщений: 64

Как создать view элементы программно - Программирование Android

23.11.2014, 16:58. Просмотров 623. Ответов 0
Метки (Все метки)

Есть xml файл:
Кликните здесь для просмотра всего текста
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
71
72
73
74
75
76
77
78
79
80
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mainFrame"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
 
    <FrameLayout
        android:id="@+id/baseFrame"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
 
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical" >
 
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="3"
                android:orientation="vertical" >
 
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1" >
                </LinearLayout>
 
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1" >
 
                    <ImageView
                        android:id="@+id/imageView4"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        android:src="@drawable/background0" />
 
                    <ImageView
                        android:id="@+id/imageView5"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        android:src="@drawable/background1" />
 
                    <ImageView
                        android:id="@+id/imageView6"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        android:src="@drawable/background2" />
 
                    <ImageView
                        android:id="@+id/imageView7"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        android:src="@drawable/background3" />
 
                    <ImageView
                        android:id="@+id/imageView8"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        android:src="@drawable/background4" />
                </LinearLayout>
            </LinearLayout>
 
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:orientation="vertical" >
            </LinearLayout>
        </LinearLayout>
 
    </FrameLayout>
 
</FrameLayout>

Как сделать тоже самое, но программно. У меня мои картинки растягиваются в программном варианте, а если делать через xml ничего не растягивается картинки сохраняют как бы свою форму

Программный неудачный вариант:
Кликните здесь для просмотра всего текста
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
        frame.removeAllViews();
        mGLSurfaceView.mode = false;
        ImageView black = new ImageView(this);
        black.setBackgroundResource(R.drawable.black_background);
        black.setScaleType(ScaleType.CENTER_CROP);
        black.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
        frame.addView(black);
        
        LinearLayout linear1 = new LinearLayout(this);
        linear1.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));   
        linear1.setOrientation(LinearLayout.VERTICAL);
        
        LinearLayout linear2 = new LinearLayout(this);
        linear2.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, 3));    
        linear2.setOrientation(LinearLayout.VERTICAL);
        
        LinearLayout linear4 = new LinearLayout(this);
        linear4.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, 1));    
        linear4.setOrientation(LinearLayout.HORIZONTAL);
        
        ImageView settings = new ImageView(this);
        settings.setId(1);
        settings.setBackgroundResource(R.drawable.settings);
        settings.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT, 1));
        settings.setOnClickListener(this);
        
        ImageView rotate = new ImageView(this);
        rotate.setId(2);
        rotate.setBackgroundResource(R.drawable.rotate);
        rotate.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT, 1));
        rotate.setOnClickListener(this);
        
        linear4.addView(settings);
        linear4.addView(rotate);
        
        LinearLayout linear5 = new LinearLayout(this);
        linear5.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, 1));    
        linear5.setOrientation(LinearLayout.HORIZONTAL);
        
        ImageView whiteBackground = new ImageView(this);
        whiteBackground.setId(3);
        whiteBackground.setBackgroundResource(R.drawable.background0);
        whiteBackground.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, 1));
        whiteBackground.setOnClickListener(this);
        
        ImageView blackBackground = new ImageView(this);
        blackBackground.setId(4);
        blackBackground.setBackgroundResource(R.drawable.background1);
        blackBackground.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, 1));
        blackBackground.setOnClickListener(this);   
        
        ImageView blueBackground = new ImageView(this);
        blueBackground.setId(5);
        blueBackground.setBackgroundResource(R.drawable.background2);
        blueBackground.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, 1));
        blueBackground.setOnClickListener(this);    
        
        ImageView greenBackground = new ImageView(this);
        greenBackground.setId(6);
        greenBackground.setBackgroundResource(R.drawable.background3);
        greenBackground.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, 1));
        greenBackground.setOnClickListener(this);   
        
        ImageView redBackground = new ImageView(this);
        redBackground.setId(7);
        redBackground.setBackgroundResource(R.drawable.background4);
        redBackground.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, 1));
        redBackground.setOnClickListener(this);         
        
        linear5.addView(whiteBackground);
        linear5.addView(blackBackground);
        linear5.addView(blueBackground);
        linear5.addView(greenBackground);
        linear5.addView(redBackground);
        
        linear2.addView(linear4);
        linear2.addView(linear5);
        
        LinearLayout linear3 = new LinearLayout(this);
        linear3.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, 1));    
        linear3.setOrientation(LinearLayout.VERTICAL);
        
        linear1.addView(linear2);
        linear1.addView(linear3);
        frame.addView(linear1);


Надо так: http://www.cyberforum.ru/attachment....1&d=1416751037
А получается так(на другой цвет и 2 доп. кнопки не обращайте внимания): http://www.cyberforum.ru/attachment....1&d=1416751037
Миниатюры
Как создать view элементы программно   Как создать view элементы программно  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru