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

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

Войти
Регистрация
Восстановить пароль
 
Muhammad97
10 / 10 / 1
Регистрация: 10.11.2013
Сообщений: 238
#1

Проблемы с отрисовкой экрана - Программирование Android

21.05.2014, 04:17. Просмотров 475. Ответов 0
Метки нет (Все метки)

Здравствуйте. Написал небольшую программу, в которой пользователь может задавать тексту: цвет, размер, цвет фона. При смене размера текста экран отрисовать неправильно, вот скрины:
Проблемы с отрисовкой экрана
Проблемы с отрисовкой экрана

Вот код:

MainActivity.java
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
package com.mycompany.myapp;
 
import android.app.*;
import android.os.*;
import android.view.*;
import android.widget.*;
import android.view.View.*;
import android.graphics.*;
import android.nfc.*;
import android.util.*;
import android.content.res.*;
 
public class MainActivity extends Activity implements OnClickListener { 
    
        
    Button knopka1;
    Button knopka2;
    Button knopka3;
    Button knopka4;
    Button knopka5;
    Button knopka6;
    Button knopka7;
    Button knopka8;
    Button knopka9;
    Button settext;
    TextView text;
    CheckBox chk1;
    CheckBox chk2;
    CheckBox chk3;
    EditText edtext;
    String chk1s;
    String chk2s;
    String chk3s;
    String sb;
    SeekBar sbtext;
    LinearLayout bgtext;
    
    public static final String TAG = "MyLogs";
    
    @Override
    public void reset() {
        text.setText(R.string.text);
        bgtext.setBackgroundResource(R.color.black);
        text.setTextColor(getResources().getColor(R.color.white));
        text.setTextSize(16);
    }
    
    //Устанавливаем значение integer
    
    int ts1 = 20;
    int ts2 = 40;
    int ts3 = 60;
    
 
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        chk1s = getString(R.string.on);
        chk2s = getString(R.string.on);
        chk3s = getString(R.string.on);
        
        //Присваиваем кнопкам их id
        Log.d(TAG, "Присваиваем кнопкам их id");
        
        knopka1 = (Button) findViewById(R.id.knopka1);
        knopka2 = (Button) findViewById(R.id.knopka2);
        knopka3 = (Button) findViewById(R.id.knopka3);
        knopka4 = (Button) findViewById(R.id.knopka4);
        knopka5 = (Button) findViewById(R.id.knopka5);
        knopka6 = (Button) findViewById(R.id.knopka6);
        knopka7 = (Button) findViewById(R.id.knopka7);
        knopka8 = (Button) findViewById(R.id.knopka8);
        knopka9 = (Button) findViewById(R.id.knopka9);
        settext = (Button) findViewById(R.id.settext);
        edtext = (EditText) findViewById(R.id.edtext);
        
        //Присваиваем тексту его id
        Log.d(TAG, "Присваиваем тексту его id");
        
        text = (TextView) findViewById(R.id.text);
        
        //Присваиваем чекбоксам их id
        Log.d(TAG, "Присваиваем чекбоксам их id");
        
        chk1 = (CheckBox) findViewById(R.id.chk1);
        chk2 = (CheckBox) findViewById(R.id.chk2);
        chk3 = (CheckBox) findViewById(R.id.chk3);
        
    //Присваиваем LinearLayout его id
        Log.d(TAG, "Присваиваем LinearLayout его id");
        
        bgtext = (LinearLayout) findViewById(R.id.bgtext);
        
        
        //присваиваем кнопкам текст
        Log.d(TAG, "Устанавливаем значение integer");
        
        knopka1.setText(R.string.red);
        knopka2.setText(R.string.green);
        knopka3.setText(R.string.blue);
        knopka4.setText(R.string.red);
        knopka5.setText(R.string.green);
        knopka6.setText(R.string.blue);
        knopka7.setText(R.string.ts1);
        knopka8.setText(R.string.ts2);
        knopka9.setText(R.string.ts3);
        settext.setText(R.string.write);
        text.setText(R.string.text);
        
        sbtext = (SeekBar) findViewById(R.id.sbtext);
        
        //Присваиваем кнопкам обработчики
        Log.d(TAG, "Присваиваем кнопкам обработчики");
        
        knopka1.setOnClickListener(this);
        knopka2.setOnClickListener(this);
        knopka3.setOnClickListener(this);
        knopka4.setOnClickListener(this);
        knopka5.setOnClickListener(this);
        knopka6.setOnClickListener(this);
        knopka7.setOnClickListener(this);
        knopka8.setOnClickListener(this);
        knopka9.setOnClickListener(this);
        settext.setOnClickListener(this);
        
        //Присваиваем чекбоксам обработчики
        Log.d(TAG, "Присваиваем чекбоксам обработчики");
        
        chk1.setOnClickListener(this);
        chk2.setOnClickListener(this);
        chk3.setOnClickListener(this);
        
        sbtext.setOnSeekBarChangeListener(sbtextlstnr);
        
        
            }
            
            @Override 
            public void onClick(View v) {
                
                
                
                switch (v.getId()) {
                    
                    //Проверка чекбоксов
            
                    
                    case R.id.chk1:
                        Log.d(TAG, "Проверка чекбоксов");
                        if (chk1.isChecked() == true)
                        {
                            knopka1.setEnabled(true);
                            knopka2.setEnabled(true);
                            knopka3.setEnabled(true);
                            chk1s = getString(R.string.on);
                            break;
                        }
                        else if (chk1.isChecked() == false)
                        {
                            knopka1.setEnabled(false);
                            knopka2.setEnabled(false);
                            knopka3.setEnabled(false);
                            chk1s = getString(R.string.off);
                            break;
                        };
    
                    case R.id.chk2:
                        if (chk2.isChecked() == true)
                        {
                            knopka4.setEnabled(true);
                            knopka5.setEnabled(true);
                            knopka6.setEnabled(true);
                            chk2s = getString(R.string.on);
                            break;
                        }
                        else if (chk2.isChecked() == false)
                        {
                            knopka4.setEnabled(false);
                            knopka5.setEnabled(false);
                            knopka6.setEnabled(false);
                            chk2s = getString(R.string.off);
                            break;
                        };
                    
                    case R.id.chk3:
                        if (chk3.isChecked() == true)
                        {
                            knopka7.setEnabled(true);
                            knopka8.setEnabled(true);
                            knopka9.setEnabled(true);
                            chk3s = getString(R.string.on);
                            break;
                        }
                        else if (chk3.isChecked() == false)
                        {
                            knopka7.setEnabled(false);
                            knopka8.setEnabled(false);
                            knopka9.setEnabled(false);
                            chk3s = getString(R.string.on);
                            break;
                        };
                        
                        //Кнопки цвета текста
                        Log.d(TAG, "Кнопки цвета текста");
                        
                    case R.id.knopka1:
                        text.setTextColor(getResources().getColor(R.color.red));
                        break;
                        
                    case R.id.knopka2:
                        text.setTextColor(getResources().getColor(R.color.green));
                        break;
                        
                    case R.id.knopka3:
                        text.setTextColor(getResources().getColor(R.color.blue));
                        break;
                        
                        //Кнопки цвета фона
                    case R.id.knopka4:
                        bgtext.setBackgroundResource(R.color.red);
                        break;
 
                    case R.id.knopka5:
                        bgtext.setBackgroundResource(R.color.green);
                        break;
 
                    case R.id.knopka6:
                        bgtext.setBackgroundResource(R.color.blue);
                    break;
                        
                        //Кнопки размера текста
                        
                    case R.id.knopka7:
                        text.setTextSize(ts1);
                        break;
 
                    case R.id.knopka8:
                        text.setTextSize(ts2);
                        break;
 
                    case R.id.knopka9:
                        text.setTextSize(ts3);
                        break;
                        
                    case R.id.settext:
                        
                        String strlng = edtext.getText().toString();
                        
                        //Присваиваем TextView текст из EditText
                        if (strlng.length() == 0) {
                            
                            Toast.makeText(this, "Ошибка: текст не может быть пустым", Toast.LENGTH_LONG).show();
                            
                        }
                        
                        else {
                        
                        text.setText(edtext.getText().toString());
                        //Выводим всплывающее сообщение "Текст изменен на"
                        Toast.makeText(this, "Текст изменен на '" + edtext.getText().toString()+"'", Toast.LENGTH_LONG).show();
                        }
                }
                }
                
            @Override
            public boolean onCreateOptionsMenu(Menu menu) {
                // TODO Auto-generated method stub
 
                menu.add(0, 1, 1, "Сброс");
                menu.add(0, 2, 2, "Информация");
 
                return super.onCreateOptionsMenu(menu);
            
}
 
            @Override
            public boolean onOptionsItemSelected(MenuItem item) {
                
                
                
                if (item.getItemId() == 1) {
                    
                    reset();
                    
                    }
                if (item.getItemId() == 2) {
                
                //Собираем информацию 
                sb = "Цвет текста: " + String.valueOf(chk1s) + "\n" +"Цвет фона: " + String.valueOf(chk2s) + "\n" + "Размер текста: " + String.valueOf(chk1s);
                
                //При выборе пункта выводим общую информацию по состоянии приложения
                Toast.makeText(this, sb, Toast.LENGTH_SHORT).show();
                
                }
                
                return super.onOptionsItemSelected(item);
                
            }
            
    private SeekBar.OnSeekBarChangeListener sbtextlstnr = new SeekBar.OnSeekBarChangeListener() {
 
        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {  
        
        }
 
        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {         
 
        }
 
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress,
                                      boolean fromUser) {
          
            text.setTextSize(progress);
                                          
        }
    };  
            
}
Main.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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout 
        android:id="@+id/linearLayout1" 
        android:layout_width="match_parent" 
        android:orientation="horizontal" 
        android:layout_height="wrap_content"> 
        <EditText 
            android:layout_height="wrap_content" 
            android:layout_width="wrap_content" 
            android:layout_weight="1" 
            android:id="@+id/edtext" 
            android:fadeScrollbars="true"> 
        </EditText> 
        <Button 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text="" 
            android:id="@+id/settext"> 
        </Button> 
    </LinearLayout>
 
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:gravity="center"
        >
        <CheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Цвет фона"
            android:checked="true"
            android:gravity="center"
            android:id="@+id/chk1"
        >
        </CheckBox>
    </LinearLayout>
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp"
        >
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/knopka1"
            android:layout_weight="1"
            >
            </Button>
 
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/knopka2"
            android:layout_weight="1"
            ></Button>
 
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/knopka3"
            android:layout_weight="1">
            </Button>
    </LinearLayout>
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:gravity="center"
    >
        <CheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Цвет фона"
            android:checked="true"
            android:gravity="center"
            android:id="@+id/chk2"
        >
        </CheckBox>
    </LinearLayout>
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        >
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/knopka4"
        android:layout_weight="1">
        ></Button>
 
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/knopka5"
        android:layout_weight="1">
        ></Button>
 
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/knopka6"
        android:layout_weight="1">
        ></Button>
    </LinearLayout>
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:gravity="center"
    >
        <CheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Размер текста"
            android:checked="true"
            android:gravity="center"
            android:id="@+id/chk3"
        >
        </CheckBox>
    </LinearLayout>
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
    >
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/knopka7"
            android:layout_weight="1">
            ></Button>
 
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/knopka8"
            android:layout_weight="1">
            ></Button>
 
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/knopka9"
            android:layout_weight="1">
            ></Button>
    </LinearLayout>
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
    >
        <SeekBar
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:max="60"
            android:progress="30"
            android:layout_marginTop="20dp"
            android:id="@+id/sbtext">
        </SeekBar>
    </LinearLayout>
    
    <LinearLayout
        android:id="@+id/bgtext"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:orientation="horizontal"
    >
 
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:id="@+id/text"/>
    </LinearLayout>
</LinearLayout>
String.xml

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="utf-8"?>
<resources>
 
    <string name="app_name">MyApp</string>
    <string name="red">Красный</string>
    <string name="green">Зеленый</string>
    <string name="blue">Синий</string>
    <string name="text_color">Цвет текста</string>
    <string name="bg_color">Цвет фона</string>
    <string name="text_size">Размер текста</string>
    <string name="info">Информация</string>
    <string name="text">Текст</string>
    <string name="write">Написать</string>
    <string name="ts1">20</string>
    <string name="ts2">40</string>
    <string name="ts3">60</string>
    <string name="on">Включен</string>
    <string name="off">Выключен</string>
</resources>
Color.xml

XML
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="red">#ff0000</color>
    <color name="green">#00ff00</color>
    <color name="blue">#0000ff</color>
    <color name="black">#000000</color>
    <color name="white">#ffffff</color>
</resources>
Android 4.4.2
Компилятор: AIDE

В чем проблема?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2014, 04:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проблемы с отрисовкой экрана (Программирование Android):

Проблемы с разрешением экрана - Программирование Android
Добрый день форумчане давно не заходил на ваш сайт))Рад вашей помощи)) ImageView iv = new ImageView(poisk.this); ...

Поворот куба сначала вокруг оси y с.к. экрана потом вокруг оси x с.к. экрана - Программирование Android
Предыстория: Я пишу 3D игру и там соответственно нужно производить поворот тела в пространстве. нужно делать 2 поворота по горизонтали и...

Проблемы с отрисовкой в MFC - Visual C++
Здравствуйте. Столкнулся с проблемой при разработке графического редактора (MFC MDI), а именно, при большом кол-ве графических...

Проблемы с отрисовкой объекта Image - Delphi
Написал игру. Стал все текстурами украшать и столкнулся с вот такой проблемой: объект Image с наложенной текстурой при движении по...

Игра Реверси: проблемы с отрисовкой в программе - C++ WinAPI
Пытаюсь написать игру Реверси. Но вот уже долго бьюсь над одной проблемой: глючит графика..или вся программа.. Причем одни и те же действия...

Проблемы с разрешением экрана в Sims 2 - Симуляторы
раньше играла в симс2,но потом удалила.сейчас снова скачала из того же источника,но теперь появилась проблема.в этой игре можно изменять...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2014, 04:17
Привет! Вот еще темы с ответами:

Проблемы с разрешением экрана после установки новой видеокарты - Видеокарты
Извиняюсь, если выбрал не ту тему. После того, как поставил вместо nVidia GeForce 9600 GT видяху поновее, а точнее - GTX 550 Ti, возникли...

Отрисовкой анимации - Java
Проблемка в том что я циклом пытаюсь заставить кружок двигаться по панели в фрейме при нажатии кнопки старт. а он не хороший человек после...

.NET 4.x Проблема с отрисовкой карты - C# WPF
Всем привет! Наткнулся на очень полезный туториал про то, как можно реализовать отрисовку карты(http://habrahabr.ru/blogs/net/94945/) ...

Проблема с отрисовкой 3D фигуры - XNA
Здравстуйте! Я недавно начал изучать эту среду и этот язык. Использовал статью http://www.xnadev.ru/articles.php?article_id=7 для...


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

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

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