настройка ширины динамического просмотра текста - PullRequest
0 голосов
/ 30 марта 2010

На самом деле мой код:

   LinearLayout ll = new LinearLayout(this);

    ll.setId(i);
    ll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
    ll.setPadding(0, 0, 0, 5);
    //ll.setClickable(false);

    TextView tv = new TextView(this);                   
    tv.setWidth(5);
    tv.setId(++i);
    tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));

    final TextView name = new TextView(this);
    name.setText(user_chat.get(j).toString()); 

    name.setWidth(60);
    name.setId(++i);
    //name.setClickable(false);   
    name.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));

    Log.v("TextView name",""+name.getText());

    TextView msg = new TextView(this);
    msg.setText(user_chat.get(++j).toString());                 
    msg.setWidth(100);
    msg.setId(++i);
    //msg.setClickable(false);        
    msg.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));

    TextView time= new TextView(this);
    time.setText(user_chat.get(++j).toString());    
    time.setId(++i);
    //time.setClickable(false);        
    time.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));

    ll.addView(tv);
    ll.addView(name);
    ll.addView(msg);
    ll.addView(time);                   
    lay.addView(ll);

В этом имени msg, текстовые поля времени, которые я отображаю. Я хочу, чтобы имя msg и time находились в правильном порядке, я имею в виду ту же строку. Но ширина не регулируется как для Android, так и для Droid. Что я могу сделать? Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 30 марта 2010

Почему вы не используете третий параметр при настройке параметров макета? конструктор для этого выглядит так ...

public LinearLayout.LayoutParams (int width, int height, float weight);

например:

ll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT,1.0f));

Вы можете установить третий параметр на 1,0

0 голосов
/ 30 марта 2010

Полагаю, под «настроить как на дроида, так и на андроида» вы подразумеваете «настроить на устройства Android с большим экраном, такие как Motorola Droid, и на более ранние устройства Android с обычным экраном, такие как Hero или G1».

Я настоятельно рекомендую вам прочитать эту статью о том, как работают различные размеры экрана в Android, и о понятии аппаратно-независимых пикселей (DIP):

http://developer.android.com/guide/practices/screens_support.html

В вашем случае я считаю, что информацию, которую вы ищете, можно найти в разделе 3. Не используйте жестко запрограммированные значения пикселей в вашем коде. Преобразование из DIP в пиксели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...