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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Второй монитор http://www.cyberforum.ru/android-dev/thread1182876.html
Сегодня вычитал про уже второе устройство с двумя экранами yotaphone: http://yotaphone.com/#/ru/techspecs/ Самсунг: http://habrahabr.ru/post/223453/ Кто-нибудь слышал что там используется для...
Программирование Android Выбор файла и переключение на другую активити для его открытия Подскажите советом или кодом. Написал файловый менеджер для просмотра файлов на устройстве. Допустим это будет просмотрщик .txt файлов. Как мне сделать чтобы после выбора в файлменеджере файл... http://www.cyberforum.ru/android-dev/thread1182610.html
Программирование Android Темы убирающие верхний тулбар, "глушат" кнопки
Решил одну проблему, появилась другая. Неизвестно мне по какой причине, после добавления в манифест новой темы (android:theme ="@android:style/Theme.Light.NoTitleBar.Fullscreen" >), кнопки перестают...
Программирование Android Вывод результата на EditText
Помогите пожалуйста, пишу простейшее приложение, где вводятся рост и вес, и по формуле вычисляется телосложение.Не выводится сам результат.В чём ошибка? файл MainActivity.java: package...
Программирование Android Приостановить таймер из таймера http://www.cyberforum.ru/android-dev/thread1182295.html
Есть задача мигать кнопкой. Но с большим интервалом! - длинная пауза - поменяли1 - короткая пауза - ... Как подобное можно сделать? Планировал запустить быстрый таймер на короткую паузу. и...
Программирование Android Неработает if Есть переменная str типа String после парсинга XML ей присваивается значение 'OK'. Затем если делаю if(str=="'OK'") ///// else ///Попадаю сюда. подробнее

Показать сообщение отдельно
Muhammad97
10 / 10 / 1
Регистрация: 10.11.2013
Сообщений: 238

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

21.05.2014, 04:17. Просмотров 476. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru