1

現在、Androidチャット画面アプリケーションで作業しています。TabHostを使用して5つのタブを設定し、ListActivityを使用してプロジェクトにListViewを作成しましたが、ListViewが全画面で表示されるため、高さを減らしたいのは、EditTextの下部を追加するためです。画面、助けてください。

前もって感謝します

私はあなたの参照のために以下に与えられたこれを試しました:

public class Texts extends ListActivity
{
     String[] data={"How may i help you?", "Please help me", "Item 3","Item 1", "Item 2", "Item 3","Item 1", "Item 2", "Item 3"};

    Drawable[] usrimg=null;
    String bgimg = "",_user="",_pass="";
    int odd_resID,even_resID;

     public void onCreate(Bundle savedInstanceState)
     {
            super.onCreate(savedInstanceState);
            System.out.println(" CHAT SCREEN ");

          //finding the list view
            ListView myList = getListView();
            myList.setAdapter(new MyCustomAdapter());
            myList.setCacheColorHint(0);

//          setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mListContent));
     }
     class MyCustomAdapter extends BaseAdapter
        {

            /**
             * returns the count of elements in the Array that is used to draw the text in rows 
             * @see android.widget.Adapter#getCount()
             */
            @Override
            public int getCount() 
            {
                return data.length; // data is nothing but the message length
            }

            /**
             * Get the data item associated with the specified position in the data set.
             * (not Implemented at this point)
             * @param position The position of the row that was clicked (0-n)
             * @see android.widget.Adapter#getItem(int)
             */
            @Override
            public String getItem(int position) 
            {
                // TODO Auto-generated method stub
                return null;
            }

            /**
             * Get the row id associated with the specified position in the list.
             * (not implemented at this point)
             * @param position The position of the row that was clicked (0-n)
             * @see android.widget.Adapter#getItemId(int)
             */
            @Override
            public long getItemId(int position) 
            {
                // TODO Auto-generated method stub
                return position;
            }

            /**
             * Returns the complete row that the System draws.
             * It is called every time the System needs to draw a new row;
             * You can control the appearance of each row inside this function.
             * @param position The position of the row that was clicked (0-n)
             * @param convertView The View object of the row that was last created. null if its the first row
             * @param parent The ViewGroup object of the parent view
             * @see android.widget.Adapter#getView(int, android.view.View, android.view.ViewGroup)
             */

            public View getView(int position, View convertView, ViewGroup parent) 
            {


                System.out.println("Enter here");


                LayoutInflater inflater = getLayoutInflater();//When you use a custom view in a ListView you must define the row layout.
                //You create an xml where you place android widgets and then in the adapter's code 
                View row;
                String even_color,odd_color;

//              SharedPreferences prefList = getSharedPreferences("PrefsFile",MODE_PRIVATE);
//              even_color = prefList.getString("even_bubble_color","pink");
//              odd_color = prefList.getString("odd_bubble_color","green");
//              
//              int even_color_id=getResources().getIdentifier(even_color,"drawable","com.teks.chilltwit"),
//                  odd_color_id=getResources().getIdentifier(odd_color,"drawable","com.teks.chilltwit");


                //ImageView even_view,odd_view;


                System.out.println("Timeline: Position: "+position+", Length: "+data.length);
//              if(position!=data.length-1){

                if(position%2==0)
                {
                    row = inflater.inflate(R.layout.list_row_layout_even, parent, false);
                    TextView textLabel = (TextView) row.findViewById(R.id.text);
                    textLabel.setText(data[position]);

                }
                else
                {
                    row = inflater.inflate(R.layout.list_row_layout_odd, parent, false);
                    TextView textLabel = (TextView) row.findViewById(R.id.text);
                    textLabel.setText(data[position]);
                }

                return (row);
            }
        }

ここに画像の説明を入力してください

4

2 に答える 2

2

フラグメントを使用して画面を分割し、目的を達成してみてください。

  • 一番上のフラグメントには、あなたが持っているように、ListViewの会話が含まれています。

  • 一番下のフラグメントには、EditText、「送信」ボタンなどが含まれています。

このようにして、ユーザーは会話の任意の部分にスクロールして、下にスクロールしなくても新しいメッセージを送信できます。

チャットフラグメント

于 2012-08-28T16:04:56.653 に答える
0

を使用して画面を分割してみてください

px、dp...etcを使用することを目的とした重み

于 2016-05-13T11:01:07.870 に答える