2

最初の画像 2 番目の画像

私は新しいアンドロイド開発です。以下に私のレイアウトファイルを添付します。

私のレイアウトではListView、1つと1つEditTextがありImageButtonます。タスクを挿入しEditTextて押すと、そのタスクが1つずつImageButton追加されます。ListView

私の問題は、4つ以上のタスクを追加すると、リストアイテムがその場所にあるため、EditTextwithImageButtonビューが表示されないことを意味すると思います.それらの上にスクリーンショットを追加して、解決策を教えてください...

    `**Layout:**        
        <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="3" >

        <Button
            android:id="@+id/todaytaskbtnid"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:layout_weight="1"
            android:background="@drawable/buttonselector"
            android:text="TODAY" />

        <Button
            android:id="@+id/tomorrowtaskbtnid"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@drawable/buttonselector"
            android:text="TOMORROW" />

        <Button
            android:id="@+id/futuretaskbtnid"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@drawable/buttonselector"
            android:text="FUTURE" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <ListView
            android:id="@+id/frontpagetasklistid"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
        </ListView>
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom" >

        <RelativeLayout
            android:id="@+id/relativelayoutid"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom" >

            <EditText
                android:id="@+id/edittextidAddTodayTask"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:background="@drawable/edittextselector"
                android:hint="Add Today Task" />

            <ImageButton
                android:id="@+id/imagebuttonidAddTodayTask"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_alignParentRight="true"
                android:layout_gravity="right"
                android:src="@drawable/addtask" />
        </RelativeLayout>
    </LinearLayout>

</LinearLayout>
4

5 に答える 5

2

単一のRelative layoutものを使用するか、以下を試すことができます。単一の相対レイアウトを使用して、ウィジェットを相互に相対的に配置できます。

もう 1 つのオプションは、linearlayout ボタン ウィジェットをヘッダーとして追加することです。また、リストビューのフッターとして editext と image ボタンを追加します。

    <Button
        android:id="@+id/todaytaskbtnid"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:layout_weight="1"
        android:background="@drawable/ic_launcher"
        android:text="TODAY" />

    <Button
        android:id="@+id/tomorrowtaskbtnid"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="@drawable/ic_launcher"
        android:text="TOMORROW" />

    <Button
        android:id="@+id/futuretaskbtnid"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="@drawable/ic_launcher"
        android:text="FUTURE" />
</LinearLayout>
     <ListView
            android:id="@+id/frontpagetasklistid"
            android:layout_above="@+id/edittextidAddTodayTask"
            android:layout_below="@+id/ll"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >

        </ListView>
        <EditText 
            android:id="@+id/edittextidAddTodayTask"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:background="@drawable/ic_launcher"
            android:hint="Add Today Task"/>

        <ImageButton
            android:id="@+id/imagebuttonidAddTodayTask"
            android:layout_width="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:src="@drawable/ic_launcher" />
    </RelativeLayout>

編集:単一の相対レイアウトを使用する

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:id="@+id/rl"
tools:context=".MainActivity" >


     <ListView
            android:id="@+id/frontpagetasklistid"
            android:layout_above="@+id/edittextidAddTodayTask"
            android:layout_below="@+id/button1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >

        </ListView>

        <ImageButton
            android:id="@+id/imagebuttonidAddTodayTask"
            android:layout_width="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:src="@drawable/ic_launcher" />

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:text="Button" />

        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/button1"
            android:layout_centerHorizontal="true"
            android:text="Button" />

        <Button
            android:id="@+id/button3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/button2"
            android:layout_alignBottom="@+id/button2"
            android:layout_alignRight="@+id/frontpagetasklistid"
            android:layout_marginRight="11dp"
            android:text="Button" />

        <EditText
            android:id="@+id/edittextidAddTodayTask"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignRight="@+id/imagebuttonidAddTodayTask"

            android:ems="10"
            android:hint="Add Today Task" />

    </RelativeLayout>

グラフィックエディタのスクリーンショット

ここに画像の説明を入力

Samsung Galaxy S3 スクリーンショット

![ここに画像の説明を入力][2]

アイテムを追加してスクリーンショットを求めたので

![ここに画像の説明を入力][3]

![enter code here][1]

議論から

row.xml がある

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="38dp"
        android:text="TextView" />

</RelativeLayout>

MainActivity.java

最初の xml を activity_main.xml として使用できます

public class MainActivity extends Activity {
    EditText ed;
    ImageButton ib;
    ListView lv;
    ArrayList<String> aa;
    ArrayAdapter<String> arrayAdapter;
    CustomAdapter cus;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ed= (EditText) findViewById(R.id.edittextidAddTodayTask);
        ib= (ImageButton) findViewById(R.id.imagebuttonidAddTodayTask);
        aa = new ArrayList<String>();
        lv= (ListView) findViewById(R.id.frontpagetasklistid);
        for(int i=0;i<100;i++)
        {
            aa.add(""+i);
        }
        cus = new CustomAdapter();
         //arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, aa);
         lv.setAdapter(cus);
        ib.setOnClickListener(new OnClickListener()
        {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Log.i("...............", "...............");
                aa.add(ed.getText().toString());
                cus.notifyDataSetChanged();

            }

        });
    }

   class CustomAdapter extends BaseAdapter
   {
       LayoutInflater mInflater;
       TextView tv;
        public CustomAdapter()
        {
            this.mInflater = LayoutInflater.from(MainActivity.this);  
        }
    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return aa.size();
    }

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

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

    public View getView( int arg0, View arg1, ViewGroup arg2) {

        if(arg1==null )
        {
             arg1=mInflater.inflate(R.layout.row, arg2,false);
        }
             tv= (TextView) arg1.findViewById(R.id.textView1);
             tv.setText(aa.get(arg0));


        return arg1;
        }

   }

}
于 2013-07-10T04:49:38.997 に答える
1

リストビューにフッタービューを追加して非表示にすることができます。フッター ビューで、EditText と ImageButton を含む下部バーのレイアウトをコピーします。新しいレイアウト ファイルを作成し、この xml をファイルに貼り付けるだけです。

 <RelativeLayout
                android:id="@+id/relativelayoutid"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:visibility="invisible" >

                <EditText
                    android:id="@+id/edittextidAddTodayTask"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:background="@drawable/edittextselector"
                    android:hint="Add Today Task" />

                <ImageButton
                    android:id="@+id/imagebuttonidAddTodayTask"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentBottom="true"
                    android:layout_alignParentRight="true"
                    android:layout_gravity="right"
                    android:src="@drawable/addtask" />
            </RelativeLayout>

このレイアウトを Listview のフッタービューとして追加します。そうすれば、リストビューで元の下部バーが非表示になることはありません。非表示にすることを忘れないでください。

于 2013-07-10T04:58:43.230 に答える
1

こんにちは、リストビューにウェイトを使用してみてください

xml を編集する例は次のとおりです。

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="3" >

    <Button
        android:id="@+id/todaytaskbtnid"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:layout_weight="1"
        android:background="@drawable/buttonselector"
        android:text="TODAY" />

    <Button
        android:id="@+id/tomorrowtaskbtnid"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="@drawable/buttonselector"
        android:text="TOMORROW" />

    <Button
        android:id="@+id/futuretaskbtnid"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="@drawable/buttonselector"
        android:text="FUTURE" />
</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ListView
        android:id="@+id/frontpagetasklistid"
        android:layout_width="match_parent"
        android:layout_height="match_parent" 
        android:layout_weight="1">
    </ListView>

    <RelativeLayout
        android:id="@+id/relativelayoutid"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom" >

        <EditText
            android:id="@+id/edittextidAddTodayTask"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:background="@drawable/edittextselector"
            android:hint="Add Today Task" />

        <ImageButton
            android:id="@+id/imagebuttonidAddTodayTask"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:layout_gravity="right"
            android:src="@drawable/addtask" />
    </RelativeLayout>
</LinearLayout>

于 2013-07-10T05:02:55.997 に答える