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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Завершение потока AsyncTask http://www.cyberforum.ru/android-dev/thread696055.html
Доброго времени суток. Возникла проблема с закрытием потока. Первый раз код выполняется и все норм, но т.к. при нажатии на кнопку выполняется попытка авторизации, то нужно что б поток закрывался и запускался заново. (task.cancel(true)) пробывал, не помогло) public class MainActivity extends Activity { TextView tTemper; MyAsyncTask task = new MyAsyncTask(); @Override
Программирование Android Добавление элемента - наследника View Здравствуйте. Пишу для Android простенькую игрушку. Для нее мне понадобилось написать класс, рисующий круг - наследник View. На экране одновременно должно быть множество кругов. Но у меня проблема в том, что отображается на экране только тот круг, который я последним добавил, а предыдущие исчезают. Подскажите, где я ошибся? Моя основная Активити: public class GameActivity extends Activity { ... http://www.cyberforum.ru/android-dev/thread695739.html
Может ли быть два виджета в одном проекте где у каждого будет своя активити настроек? Программирование Android
Попытался так сделать, все везде написал и в provider и в manifest, но все равно при добавлении второго виджета вылетает активити первого виджета :( Может так нельзя делать? Спасибо
Подключение к MySQL на Android Программирование Android
Доброе утро! Подскажите пожалуйста способы коннекта к MySQL в разработке приложений на android. Покопался по форумам, гуглу, нашёл некоторые методы, но не знаю как и какой всё таки правильно или лучше. Вот и прошу помощи у Вас. Любым подсказкам буду рад.
Программирование Android Как обработать нажатие ImageView http://www.cyberforum.ru/android-dev/thread695099.html
Создаю программу на Андроиде. И сразу столкнулся с проблемой. Почему то не получается... Создаю три объекта ImageView, и надо при нажатии на одну из картинок, чтобы она заменялась новой. Как это реализовать? Может кто подскажет? Добавлено через 1 час 4 минуты И вобще, такой код правильный? ImageView img = (ImageView) findViewById(R.id.imageView1); img.setOnClickListener(new...
Программирование Android Добавление "балуна" в Yandex Map Kit Здравствуйте. Пытаюсь используя сэмплы Yandex Map Kit сделать добавление балуна по нажатию кнопки. Необходимо чтоб балун появлялся именно на текущей позиции GPS, а затем уже передвигать его куда нужно. Код таков: public class MainActivity extends Activity implements OnMyLocationListener{ MyLocationItem myLocationItem; MapController mMapController; LinearLayout mView; ... подробнее

Показать сообщение отдельно
Lagsterius
1 / 1 / 0
Регистрация: 05.11.2010
Сообщений: 27

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

13.11.2012, 13:00. Просмотров 916. Ответов 0
Метки (Все метки)

Всем доброго времени суток, возник вопрос:

Только начал изучать разработку под андроид так что не судите строго, есть вот такая разметка:

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
  <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
        
        <TableRow android:id = "@+id/d_tr1">
            <TextView android:id = "@+id/txt_d_title"
                android:layout_span = "2"
                android:text = "Title" />
        </TableRow>
        
        <TableRow android:id = "@+id/d_tr2">
            <TextView android:id = "@+id/txt_d_Mt"
                android:text = "Title" />
 
            <TextView
                android:id="@+id/txt_d_Mc"
                android:text="Title" />
 
        </TableRow>
        
        <TableRow android:id = "@+id/d_tr3">
            <TextView android:id = "@+id/txt_d_nt"
                android:text = "Title" />
            <TextView android:id = "@+id/txt_d_nc"
                android:text = "Title" />
        </TableRow>
        
        <TableRow android:id = "@+id/d_tr4">
            <TextView android:id = "@+id/txt_d_dt"
                android:text = "Title" />
            <TextView android:id = "@+id/txt_d_dc"
                android:text = "Title"
                android:layout_gravity="right" />
        </TableRow>
        
        <TableRow android:id = "@+id/d_tr5">
            <TextView android:id = "@+id/txt_d_ht"
                android:text = "Title" />
            <TextView android:id = "@+id/txt_d_hc"
                android:text = "Title" />
        </TableRow>
        
        <TableRow android:id = "@+id/d_tr6">
            <TextView android:id = "@+id/txt_d_mt"
                android:text = "Title" />
            <TextView android:id = "@+id/txt_d_mc"
                android:text = "Title" />
        </TableRow>
        
        <TableRow android:id = "@+id/d_tr7">
            <TextView android:id = "@+id/txt_d_st"
                android:text = "Title" />
            <TextView android:id = "@+id/txt_d_sc"
                android:text = "Title" />
        </TableRow>
    </TableLayout>
Смысл в том чтобы при загрузке формы первый ряд занимал 16% высоты экрана, а остальные 6 делили высоту между собой поровну. Я сделал это вот так:

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
package lagster.experement;
 
import android.app.Activity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TableRow;
import android.content.Intent;
import android.graphics.Color;
 
public class mainActivity extends Activity {
    
    int Th, Rh;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        Display display = getWindowManager().getDefaultDisplay();
        DisplayMetrics metricsB = new DisplayMetrics();
        display.getMetrics(metricsB);
        
        TableRow tr1 = (TableRow) findViewById(R.id.d_tr1);
        TableRow tr2 = (TableRow) findViewById (R.id.d_tr2);
        TableRow tr3 = (TableRow) findViewById (R.id.d_tr3);
        TableRow tr4 = (TableRow) findViewById (R.id.d_tr4);
        TableRow tr5 = (TableRow) findViewById (R.id.d_tr5);
        TableRow tr6 = (TableRow) findViewById (R.id.d_tr6);
        TableRow tr7 = (TableRow) findViewById (R.id.d_tr7);
        
        tr1.setBackgroundColor(Color.argb(255, 255, 255, 0));
        
        Th = (int) metricsB.heightPixels * 16 / 100;
        Rh = (int) metricsB.heightPixels * 14 / 100;
        tr1.setMinimumHeight(Th);
        tr2.setMinimumHeight(Rh);
        tr2.setBackgroundColor(Color.argb(255, 0, 255, 0));
        tr3.setMinimumHeight(Rh);
        tr3.setBackgroundColor(Color.argb(255, 255, 0, 0));
        tr4.setMinimumHeight(Rh);
        tr4.setBackgroundColor(Color.argb(255, 200, 255, 100));
        tr5.setMinimumHeight(Rh);
        tr5.setBackgroundColor(Color.argb(255, 100, 255, 0));
        tr6.setMinimumHeight(Rh);
        tr6.setBackgroundColor(Color.argb(255, 12, 255, 255));
        tr7.setMinimumHeight(Rh);
        tr7.setBackgroundColor(Color.argb(255, 255, 100, 100));
        
      }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
      
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case R.id.main_menu_close:
            finish();
            return true;
        case R.id.main_menu_about:
            Intent intent_about = new Intent(mainActivity.this, aboutActivity.class);
            startActivity(intent_about);
            return true;
        default:
            Intent intent_settings = new Intent(mainActivity.this, settingsActivity.class);
            startActivity(intent_settings);
            return true;
        }
    }
}
Из кода видно что для 1 ряда высота должна быть 16%
Java
1
Th = (int) metricsB.heightPixels * 16 / 100;
А для остальные по 14% (14% * 6 = 84%; 84% + 16% = 100%
Java
1
Rh = (int) metricsB.heightPixels * 14 / 100;
Но ожидаемого 100%-тного заполнения высоты экрана я не увидел, помогите исправить пожалуйста
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru