Большой текст в виде списка - PullRequest
0 голосов
/ 10 октября 2011

Привет, я хочу создать представление списка, содержащее изображение и два текстовых представления. Я создал их и проверил, что они работают нормально, когда текст маленький, скажем, привет, но когда у меня большой текст, виден только один вид текста. Я знаю его, потому что linearlayout, так как размер текста увеличивается, другие текстовые представления переходят в обратную сторону, поэтому невидимыми может кто-либо предложить план размещения или указание, как обрабатывать большой текст или изменять размеры списка, чтобы при увеличении размера текста размер элемента списка увеличивался, а при небольшом размере размер уменьшается или остается постоянным. вот мой макет списка

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="horizontal"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  >
    <ImageView
    android:layout_width="50px" 
    android:layout_height="wrap_content"
    android:src="@drawable/s3" />
    <LinearLayout
    android:orientation="vertical"
    android:layout_width="100px"
    android:layout_height="fill_parent">
    <TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Hello worldjjkljllk;lk;lkklkljkjgfytedtdgihfddgihjghvssetrtyugufgfddfdsafdfugvbcfttyugbhgsdtrrtyvhv"/>
     <TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Hello world"/>
     <TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Hello world"/>

    </LinearLayout>
    <CheckBox
    android:layout_width="30px" 
    android:layout_height="wrap_content"
    />
</LinearLayout>

и вот базовый класс адаптера.

class base extends BaseAdapter{

        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return 5;
        }

        @Override
        public Object getItem(int arg0) {
            // TODO Auto-generated method stub
            return arg0;
        }

        @Override
        public long getItemId(int arg0) {
            // TODO Auto-generated method stub
            return arg0;
        }

        @Override
        public View getView(int arg0, View arg1, ViewGroup arg2) {
            // TODO Auto-generated method stub
            View v;
            LayoutInflater li=getLayoutInflater();
            v=li.inflate(R.layout.listitem, null);

            return v;
        }

    }

Ответы [ 2 ]

0 голосов
/ 24 февраля 2012

Вместо PX используйте DP, это сделает его независимым от плотности, и вы получите одинаковый размер на всех типах экранов.

Подробнее см. http://developer.android.com/guide/practices/screens_support.html

0 голосов
/ 10 октября 2011

Я думаю, что вы должны использовать RelativeLayout, а не LiearLayout, и использование

android:layout_width="100px"

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

android:layout_width="100dp"

, или я думаю, что вам лучше использовать

android:layout_width="wrap_content"

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

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