---动态添加应用具有长按删除功能"width="156"height="204"style="border:1pxsolidblack;"/>---动态添加应用具有长按删除功能"width="158"height="204"style="border" />

小生功能贴 --- 动态添加应用 具有长按删除功能

系统 1667 0

---恢复内容开始---

动态添加应用 具有长按删除功能 功能如下图:

小生功能贴<一> --- 动态添加应用 具有长按删除功能       小生功能贴<一> --- 动态添加应用 具有长按删除功能     小生功能贴<一> --- 动态添加应用 具有长按删除功能     小生功能贴<一> --- 动态添加应用 具有长按删除功能     小生功能贴<一> --- 动态添加应用 具有长按删除功能

(图片显示功能不是你要的,那就默默关闭页面吧)

设计思路:

  页面一:用girdview网格显示图标,在自定义的adapter中为每一个子Item添加内容并且加上点击事件(长按和短按),“+”button跳转到第二个页面。

  页面二:用AutoCompeleteTextView带提示的输入框,用adapter为其添加提示字符串组,确认显示所搜索到的应用,这里显示搜索到的应用我不是用ListView,而是在代码中动态添加布局,每一次按“搜索”前先清空里面的子布局。按”添加“后判断该应用是否已经添加,没有的话就在页面一加上,并且返回页面一。

  注意:数据我是用常量类Constant,没有介入SQL,只为测试方便。判断当前是否是长按状态下我用Constant.press进行标记。

下面贴上代码童鞋们一起玩玩。

      
          1
      
      
        package
      
      
         com.example.practice1;


      
      
          2
      
      
          3
      
      
        import
      
      
         java.util.ArrayList;


      
      
          4
      
      
        import
      
      
         java.util.HashMap;


      
      
          5
      
      
        import
      
      
         java.util.Timer;


      
      
          6
      
      
          7
      
      
        import
      
      
         android.app.Activity;


      
      
          8
      
      
        import
      
      
         android.app.ActionBar;


      
      
          9
      
      
        import
      
      
         android.app.Fragment;


      
      
         10
      
      
        import
      
      
         android.content.Context;


      
      
         11
      
      
        import
      
      
         android.content.Intent;


      
      
         12
      
      
        import
      
      
         android.os.Bundle;


      
      
         13
      
      
        import
      
      
         android.os.SystemClock;


      
      
         14
      
      
        import
      
      
         android.util.Log;


      
      
         15
      
      
        import
      
      
         android.view.LayoutInflater;


      
      
         16
      
      
        import
      
      
         android.view.Menu;


      
      
         17
      
      
        import
      
      
         android.view.MenuItem;


      
      
         18
      
      
        import
      
      
         android.view.MotionEvent;


      
      
         19
      
      
        import
      
      
         android.view.View;


      
      
         20
      
      
        import
      
      
         android.view.View.OnClickListener;


      
      
         21
      
      
        import
      
      
         android.view.View.OnLongClickListener;


      
      
         22
      
      
        import
      
      
         android.view.View.OnTouchListener;


      
      
         23
      
      
        import
      
      
         android.view.ViewGroup;


      
      
         24
      
      
        import
      
      
         android.widget.AdapterView;


      
      
         25
      
      
        import
      
      
         android.widget.AdapterView.OnItemClickListener;


      
      
         26
      
      
        import
      
      
         android.widget.BaseAdapter;


      
      
         27
      
      
        import
      
      
         android.widget.Chronometer;


      
      
         28
      
      
        import
      
      
         android.widget.GridView;


      
      
         29
      
      
        import
      
      
         android.widget.ImageView;


      
      
         30
      
      
        import
      
      
         android.widget.SimpleAdapter;


      
      
         31
      
      
        import
      
      
         android.widget.TextView;


      
      
         32
      
      
        import
      
      
         android.widget.Toast;


      
      
         33
      
      
        import
      
      
         android.os.Build;


      
      
         34
      
      
         35
      
      
        public
      
      
        class
      
       MainActivity 
      
        extends
      
      
         Activity {


      
      
         36
      
      
         37
      
      
            Grid_Adapter adp;


      
      
         38
      
      
            GridView gridview;


      
      
         39
      
      
        long
      
       startMili=0
      
        ;


      
      
         40
      
      
        long
      
       endMili=0
      
        ;


      
      
         41
      
      
            @Override


      
      
         42
      
      
        protected
      
      
        void
      
      
         onCreate(Bundle savedInstanceState) {


      
      
         43
      
      
        super
      
      
        .onCreate(savedInstanceState);


      
      
         44
      
      
                setContentView(R.layout.main);


      
      
         45
      
               gridview =
      
         (GridView) findViewById(R.id.gridview);  


      
      
         46
      
               adp=
      
        new
      
       Grid_Adapter(
      
        this
      
      
        ,Constant.num);


      
      
         47
      
      
        //
      
      
        添加并且显示  
      
      
         48
      
      
                gridview.setAdapter(adp);  


      
      
         49
      
      
         50
      
      
                }


      
      
         51
      
      
         52
      
      
         53
      
      
                @Override


      
      
         54
      
      
        public
      
      
        void
      
       onBackPressed() {                        
      
        //
      
      
        长按后 不想删除 按返回键的触发事件
      
      
         55
      
      
        if
      
      (!
      
        Constant.press)


      
      
         56
      
      
                    finish();


      
      
         57
      
      
        else
      
      
         {


      
      
         58
      
      
                        String st;


      
      
         59
      
      
         60
      
      
        for
      
      (
      
        int
      
       k=12;k<Constant.num-1;k++){st=
      
        Constant.text[k];


      
      
         61
      
      
        if
      
      (st.equals("微信")){Constant.image[k]=
      
        R.drawable.weixin_press;}


      
      
         62
      
      
        if
      
      (st.equals("微博")){Constant.image[k]=
      
        R.drawable.weibo_press;}


      
      
         63
      
      
        if
      
      (st.equals("酷狗音乐")){Constant.image[k]=
      
        R.drawable.kugou_press;}


      
      
         64
      
      
        if
      
      (st.equals("华农宝")){Constant.image[k]=
      
        R.drawable.huanongbao_press;}


      
      
         65
      
      
        if
      
      (st.equals("QQ")){Constant.image[k]=
      
        R.drawable.qq_press;}


      
      
         66
      
      
        if
      
      (st.equals("飞信")){Constant.image[k]=
      
        R.drawable.feixin_press;}


      
      
         67
      
      
                        }


      
      
         68
      
                       Constant.press=
      
        false
      
      
        ;


      
      
         69
      
                       Constant.num++
      
        ;


      
      
         70
      
                       Constant.image[Constant.num-1]=
      
        R.drawable.image13;


      
      
         71
      
                       Constant.text[Constant.num-1]="13"
      
        ;


      
      
         72
      
      
        for
      
      (
      
        int
      
       i=0;i<Constant.num;i++
      
        ){


      
      
         73
      
                           Log.v("num"
      
        ,Constant.text[i]);


      
      
         74
      
      
                        }


      
      
         75
      
                       adp.notifyDataSetChanged();
      
        //
      
      
        更新
      
      
         76
      
      
                    }


      
      
         77
      
      
                }


      
      
         78
      
      
         79
      
      
        private
      
      
        class
      
       appClick 
      
        implements
      
       OnTouchListener{    
      
        //
      
      
        子Item的OnTouch触发事件
      
      
         80
      
      
        int
      
      
         position;


      
      
         81
      
      
        public
      
       appClick(
      
        int
      
      
         position) {


      
      
         82
      
      
        //
      
      
         TODO Auto-generated constructor stub
      
      
         83
      
      
        this
      
      .position=
      
        position;


      
      
         84
      
      
                    }


      
      
         85
      
      
         86
      
      
                    @Override


      
      
         87
      
      
        public
      
      
        boolean
      
      
         onTouch(View arg0, MotionEvent event) {


      
      
         88
      
      
        //
      
      
         TODO Auto-generated method stub
      
      
         89
      
      
         90
      
      
        if
      
      (event.getAction() ==
      
         MotionEvent.ACTION_UP){  


      
      
         91
      
                           Log.v("s","抬起"
      
        );


      
      
         92
      
      
         93
      
                           endMili=System.currentTimeMillis();
      
        //
      
      
         当前时间对应的毫秒数
      
      
         94
      
      
         95
      
      
        long
      
       Time = endMili-startMili;      
      
        //
      
      
        时间差
      
      
         96
      
                           Log.v("time"
      
        ,Long.toString(Time));


      
      
         97
      
      
         98
      
      
        if
      
      (Time>1000){                            
      
        //
      
      
        根据时间差来判断是短按还是长按,这里标准时一秒
      
      
         99
      
                           Log.v("long","long_out"
      
        );appLongClick(position);}


      
      
        100
      
      
        else
      
      
         {


      
      
        101
      
                           Log.v("short","short_out"
      
        );appShortClick(position);}


      
      
        102
      
      
                        }  


      
      
        103
      
      
        104
      
      
        105
      
      
        106
      
      
        if
      
      (event.getAction() ==
      
         MotionEvent.ACTION_DOWN){  


      
      
        107
      
                           startMili=System.currentTimeMillis();
      
        //
      
      
         当前时间对应的毫秒数
      
      
        108
      
                           Log.v("q","按下"
      
        ); 


      
      
        109
      
      
                        } 


      
      
        110
      
      
        return
      
      
        true
      
      
        ;


      
      
        111
      
      
                    }


      
      
        112
      
      
        113
      
      
                }


      
      
        114
      
      
        115
      
      
        private
      
      
        void
      
       appShortClick(
      
        int
      
       p){                    
      
        //
      
      
        短按处理
      
      
        116
      
      
        int
      
       position=
      
        p;


      
      
        117
      
                   Log.v("short","short_in"
      
        );


      
      
        118
      
      
        if
      
      
        (Constant.press){


      
      
        119
      
                           Log.v("ee","eee"
      
        );


      
      
        120
      
      
        for
      
      (
      
        int
      
       k=position;k<Constant.num-1;k++
      
        ){


      
      
        121
      
                               Constant.image[k]=Constant.image[k+1
      
        ];


      
      
        122
      
                               Constant.text[k]=Constant.text[k+1
      
        ];


      
      
        123
      
      
                            }


      
      
        124
      
                           Log.v("shit",Constant.text[Constant.num-1
      
        ]);


      
      
        125
      
                           Constant.press=
      
        true
      
      
        ;


      
      
        126
      
                           Constant.image[Constant.num-1]=
      
        R.drawable.image13;


      
      
        127
      
                           Constant.text[Constant.num-1]="13"
      
        ;


      
      
        128
      
      
        if
      
      (Constant.num!=13
      
        )


      
      
        129
      
                           {Constant.num--;}
      
        else
      
       {Constant.press=
      
        false
      
      
        ;}


      
      
        130
      
                           Log.v("d"
      
        ,Integer.toString(Constant.num));


      
      
        131
      
      
                            adp.notifyDataSetChanged();


      
      
        132
      
      
        //
      
      
        更新
      
      
        133
      
                       }
      
        else
      
      
        if
      
      (!Constant.press&&p==Constant.num-1
      
        ){


      
      
        134
      
                           Intent intent =
      
        new
      
      
         Intent();


      
      
        135
      
                               intent.setClass(MainActivity.
      
        this
      
      , AddApplication.
      
        class
      
      
        );


      
      
        136
      
      
                                startActivity(intent);


      
      
        137
      
      
                                finish();


      
      
        138
      
      
                        }


      
      
        139
      
      
        140
      
      
        141
      
      
        142
      
      
                  }


      
      
        143
      
      
        private
      
      
        void
      
        appLongClick(
      
        int
      
       p){                  
      
        //
      
      
        长按处理
      
      
        144
      
      
        145
      
      
        if
      
      (!Constant.press&&p==Constant.num-1
      
        ){}


      
      
        146
      
      
        else
      
      
        {


      
      
        147
      
      
                                String st;      


      
      
        148
      
      
        for
      
      (
      
        int
      
       k=12;k<Constant.num-1;k++){st=
      
        Constant.text[k];


      
      
        149
      
      
        if
      
      (st.equals("微信")){Constant.image[k]=
      
        R.drawable.weixin_press;}


      
      
        150
      
      
        if
      
      (st.equals("微博")){Constant.image[k]=
      
        R.drawable.weibo_press;}


      
      
        151
      
      
        if
      
      (st.equals("酷狗音乐")){Constant.image[k]=
      
        R.drawable.kugou_press;}


      
      
        152
      
      
        if
      
      (st.equals("华农宝")){Constant.image[k]=
      
        R.drawable.huanongbao_press;}


      
      
        153
      
      
        if
      
      (st.equals("QQ")){Constant.image[k]=
      
        R.drawable.qq_press;}


      
      
        154
      
      
        if
      
      (st.equals("飞信")){Constant.image[k]=
      
        R.drawable.feixin_press;}


      
      
        155
      
      
                            }


      
      
        156
      
      
        157
      
                           Constant.press=
      
        true
      
      
        ;


      
      
        158
      
                           Constant.num--
      
        ;


      
      
        159
      
                           adp.notifyDataSetChanged();
      
        //
      
      
        更新
      
      
        160
      
      
                            }


      
      
        161
      
      
                }  


      
      
        162
      
      
        163
      
      
        class
      
       Grid_Adapter 
      
        extends
      
       BaseAdapter{                
      
        //
      
      
        GridView的自定义adapter
      
      
        164
      
      
                    Context mContext; 


      
      
        165
      
      
        public
      
       Grid_Adapter(Context context,
      
        int
      
      
         num){


      
      
        166
      
                       mContext=
      
        context;


      
      
        167
      
      
        168
      
      
                    }


      
      
        169
      
      
                    @Override


      
      
        170
      
      
        public
      
      
        int
      
      
         getCount() {


      
      
        171
      
      
        //
      
      
         TODO Auto-generated method stub
      
      
        172
      
      
        return
      
      
         Constant.num;


      
      
        173
      
      
                    }


      
      
        174
      
      
        175
      
      
                    @Override


      
      
        176
      
      
        public
      
       Object getItem(
      
        int
      
      
         arg0) {


      
      
        177
      
      
        //
      
      
         TODO Auto-generated method stub
      
      
        178
      
      
        return
      
      
         Constant.image[arg0];


      
      
        179
      
      
                    }


      
      
        180
      
      
        181
      
      
                    @Override


      
      
        182
      
      
        public
      
      
        long
      
       getItemId(
      
        int
      
      
         arg0) {


      
      
        183
      
      
        //
      
      
         TODO Auto-generated method stub
      
      
        184
      
      
        return
      
      
         arg0;


      
      
        185
      
      
                    }


      
      
        186
      
      
        187
      
      
                    @Override


      
      
        188
      
      
        public
      
       View getView(
      
        int
      
      
         position, View arg1, ViewGroup arg2) {


      
      
        189
      
      
        //
      
      
         TODO Auto-generated method stub
      
      
        190
      
      
        191
      
                       LayoutInflater inflater =
      
         LayoutInflater.from(mContext); 


      
      
        192
      
                       View view = 
      
        null
      
      
        ;


      
      
        193
      
                       view = inflater.inflate(R.layout.grid_adapter, 
      
        null
      
      
        );


      
      
        194
      
                       ImageView im=
      
        (ImageView)view.findViewById(R.id.ItemImage);


      
      
        195
      
      
        196
      
                       TextView te=
      
        (TextView)view.findViewById(R.id.ItemText);


      
      
        197
      
      
        198
      
                       im.setBackgroundResource((
      
        int
      
      
        )getItem(position));


      
      
        199
      
      
                        te.setText(Constant.text[position]);


      
      
        200
      
      
        201
      
      
        if
      
      (position>11&&position<=Constant.num-1
      
        ){


      
      
        202
      
      
        203
      
                           view.setOnTouchListener(
      
        new
      
      
         appClick(position)); 


      
      
        204
      
      
        205
      
      
                        }


      
      
        206
      
      
        207
      
      
        208
      
      
        209
      
      
        return
      
      
         view;


      
      
        210
      
      
        211
      
      
                    }}


      
      
        212
      
      
        }


      
      
        213
      
      
        214
      
    

MainActivity的XML布局文件就一个GiewView,这里就不贴了。

      
          1
      
      
        package
      
      
         com.example.practice1;


      
      
          2
      
      
          3
      
      
        import
      
      
         android.app.Activity;


      
      
          4
      
      
        import
      
      
         android.content.Intent;


      
      
          5
      
      
        import
      
      
         android.os.Bundle;


      
      
          6
      
      
        import
      
      
         android.text.Editable;


      
      
          7
      
      
        import
      
      
         android.view.LayoutInflater;


      
      
          8
      
      
        import
      
      
         android.view.View;


      
      
          9
      
      
        import
      
      
         android.widget.ArrayAdapter;


      
      
         10
      
      
        import
      
      
         android.widget.AutoCompleteTextView;


      
      
         11
      
      
        import
      
      
         android.widget.Button;


      
      
         12
      
      
        import
      
      
         android.widget.ImageView;


      
      
         13
      
      
        import
      
      
         android.widget.LinearLayout;


      
      
         14
      
      
        import
      
      
         android.widget.TextView;


      
      
         15
      
      
        import
      
      
         android.widget.Toast;


      
      
         16
      
      
         17
      
      
        public
      
      
        class
      
       AddApplication 
      
        extends
      
      
         Activity{


      
      
         18
      
      
        AutoCompleteTextView autotext;


      
      
         19
      
      
        Button bu_se;


      
      
         20
      
      
        LinearLayout app_add;


      
      
         21
      
      
            @Override


      
      
         22
      
      
        protected
      
      
        void
      
      
         onCreate(Bundle savedInstanceState) {


      
      
         23
      
      
        //
      
      
         TODO Auto-generated method stub
      
      
         24
      
      
        super
      
      
        .onCreate(savedInstanceState);


      
      
         25
      
      
                setContentView(R.layout.addapplication);


      
      
         26
      
               autotext=
      
        (AutoCompleteTextView)findViewById(R.id.autotext);


      
      
         27
      
               ArrayAdapter<String> adapter=
      
        new
      
       ArrayAdapter<String>
      
        (


      
      
         28
      
      
        this
      
      
        ,android.R.layout.simple_dropdown_item_1line,Constant.application);


      
      
         29
      
      
                autotext.setAdapter(adapter);


      
      
         30
      
      
         31
      
               bu_se=
      
        (Button)findViewById(R.id.bu_search);


      
      
         32
      
               bu_se.setOnClickListener(
      
        new
      
       View.OnClickListener() {        
      
        //
      
      
        搜索按钮的触发事件
      
      
         33
      
      
         34
      
      
                    @Override


      
      
         35
      
      
        public
      
      
        void
      
      
         onClick(View arg0) {


      
      
         36
      
      
        //
      
      
         TODO Auto-generated method stub
      
      
         37
      
      
                        Editable st;


      
      
         38
      
                       st=
      
        autotext.getText();


      
      
         39
      
                       String str=
      
        st.toString();


      
      
         40
      
      
                        view(str);


      
      
         41
      
      
                    }


      
      
         42
      
      
                });


      
      
         43
      
      
            }


      
      
         44
      
      
            @Override


      
      
         45
      
      
        public
      
      
        void
      
       onBackPressed() {                                        
      
        //
      
      
        按返回键回到第一个页面
      
      
         46
      
               Intent intent =
      
        new
      
       Intent(AddApplication.
      
        this
      
      ,MainActivity.
      
        class
      
      
        );


      
      
         47
      
      
                startActivity(intent);


      
      
         48
      
      
                finish();


      
      
         49
      
      
            }


      
      
         50
      
      
        public
      
      
        void
      
       view(String str){                                        
      
        //
      
      
        按下搜索后显示应用
      
      
         51
      
               LinearLayout app_add=(LinearLayout)findViewById(R.id.list_app);    
      
        //
      
      
        先清空list_app的子布局
      
      
         52
      
      
        int
      
       count =
      
         app_add.getChildCount();


      
      
         53
      
      
        while
      
      (count-1>=0){app_add.removeViewAt(count-1);count--
      
        ;}


      
      
         54
      
      
         55
      
               LayoutInflater inflater = LayoutInflater.from(
      
        this
      
      
        );


      
      
         56
      
      
        int
      
       i=0
      
        ;


      
      
         57
      
      
        for
      
      (i=0;i<Constant.application.length;i++){                        
      
        //
      
      
        把输入字符串与现存所有应用名进行匹配
      
      
         58
      
      
        final
      
      
        int
      
       position =
      
        i;


      
      
         59
      
      
        if
      
      (Constant.application[i].indexOf(str)!=-1
      
        ){


      
      
         60
      
                       View view_0 = inflater.inflate(R.layout.list_view, 
      
        null
      
      
        );


      
      
         61
      
                TextView app_name =
      
         (TextView)view_0.findViewById(R.id.app_name);


      
      
         62
      
                ImageView app_image=
      
         (ImageView)view_0.findViewById(R.id.app_icon);


      
      
         63
      
                Button bu_add =
      
        (Button)view_0.findViewById(R.id.app_add);


      
      
         64
      
      
                        app_name.setText(Constant.application[i]);


      
      
         65
      
      
                        app_image.setBackgroundResource(Constant.app_icon[i]);


      
      
         66
      
                       bu_add.setOnClickListener(
      
        new
      
       View.OnClickListener() {    
      
        //
      
      
        为添加按钮设置监控
      
      
         67
      
      
         68
      
      
                              @Override


      
      
         69
      
      
        public
      
      
        void
      
      
         onClick(View arg0) {


      
      
         70
      
      
        //
      
      
         TODO Auto-generated method stub
      
      
         71
      
      
        if
      
      (verification(position)){                        
      
        //
      
      
        如果未添加过该应用则在第一个页面添加并返回第一个页面
      
      
         72
      
                                     Constant.image[Constant.num]=Constant.image[Constant.num-1
      
        ];


      
      
         73
      
                                 Constant.text[Constant.num]=Constant.text[Constant.num-1
      
        ];


      
      
         74
      
                                   Constant.image[Constant.num-1]=
      
        Constant.app_icon[position];


      
      
         75
      
                                 Constant.text[Constant.num-1]=
      
        Constant.application[position];


      
      
         76
      
                                 Constant.num++
      
        ;


      
      
         77
      
                                   Intent intent =
      
        new
      
      
         Intent();


      
      
         78
      
                                   intent.setClass(AddApplication.
      
        this
      
      , MainActivity.
      
        class
      
      
        );


      
      
         79
      
      
                                    startActivity(intent);  


      
      
         80
      
      
                                    finish();      


      
      
         81
      
                                 }
      
        else
      
      
        {


      
      
         82
      
                                     Toast.makeText(AddApplication.
      
        this
      
      , "该应用你已添加>.<"
      
        ,


      
      
         83
      
      
                                            Toast.LENGTH_SHORT).show();


      
      
         84
      
      
                                  }


      
      
         85
      
      
         86
      
      
                              }


      
      
         87
      
      
                        });


      
      
         88
      
      
         89
      
                       app_add.addView(view_0);                                    
      
        //
      
      
        往list_app添加子Item
      
      
         90
      
      
                    }


      
      
         91
      
      
         92
      
      
                }


      
      
         93
      
      
         94
      
      
            }


      
      
         95
      
      
        private
      
      
        boolean
      
       verification(
      
        int
      
      
         p){


      
      
         96
      
      
        for
      
      (
      
        int
      
       i=0;i<Constant.image.length;i++
      
        ){


      
      
         97
      
      
        if
      
      
        (Constant.application[p].equals(Constant.text[i])){


      
      
         98
      
      
        return
      
      
        false
      
      
        ;


      
      
         99
      
      
                            }


      
      
        100
      
      
                        }


      
      
        101
      
      
        return
      
      
        true
      
      
        ;


      
      
        102
      
      
        }


      
      
        103
      
       }
    

Constant,用来保存测试数据

      
         1
      
      
        package
      
      
         com.example.practice1;


      
      
         2
      
      
         3
      
      
        public
      
      
        class
      
      
         Constant {


      
      
         4
      
      
        public
      
      
        static
      
      
        boolean
      
       press = 
      
        false
      
      
        ;


      
      
         5
      
      
        public
      
      
        static
      
      
        int
      
       num=13
      
        ;


      
      
         6
      
      
        public
      
      
        static
      
      
        int
      
      [] image=
      
        {R.drawable.image1,


      
      
         7
      
      
            R.drawable.image2,R.drawable.image3,R.drawable.image4,R.drawable.image5,


      
      
         8
      
      
        R.drawable.image6,R.drawable.image7,R.drawable.image8,R.drawable.image9,


      
      
         9
      
       R.drawable.image10,R.drawable.image11,R.drawable.image12,R.drawable.image13,0,0,0,0,0,0,0
      
        };


      
      
        10
      
      
        11
      
      
        public
      
      
        static
      
       String[] text={"1","2","3","4","5","6","7","8","9","10","11","12","13","0","0","0","0","0","0","0"
      
        };


      
      
        12
      
      
        public
      
      
        static
      
       String[] application ={"微信","QQ","华农宝","飞信","微博","酷狗音乐"
      
        };


      
      
        13
      
      
        public
      
      
        static
      
      
        int
      
      [] app_icon=
      
        {R.drawable.weixin,R.drawable.qq,R.drawable.huanongbao,R.drawable.feixin,R.drawable.weibo,R.drawable.kugou};


      
      
        14
      
      
        15
      
       }
    

最后是三个XML 

grid_adapter.XML

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:orientation="vertical"

    android:gravity="center_horizontal" >

     <ImageView   

               android:layout_height="wrap_content"   

               android:id="@+id/ItemImage"   

               android:layout_width="wrap_content"   

               

               >   

              

         </ImageView>  

         <TextView   

               android:layout_width="match_parent"   

               android:layout_height="wrap_content"   

               android:text="TextView01" 

                 android:gravity="center"

               android:id="@+id/ItemText">  

         </TextView>  



</LinearLayout>


    

  list_view

      <?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:layout_marginTop="5px"

	android:layout_marginLeft="5px"

	android:layout_marginRight="5px"

    android:orientation="horizontal" >

    <LinearLayout 

    android:layout_width="0px"

    android:layout_height="wrap_content"

    android:layout_weight="7"

    android:orientation="horizontal"

        >

        <ImageView 

            android:layout_marginLeft="2px"

            android:layout_marginTop="2px"

            android:layout_marginBottom="2px"

            android:layout_marginRight="2px"

            android:id="@+id/app_icon"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            

            />

        <TextView 

            android:id="@+id/app_name"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_gravity="center_horizontal"

            android:gravity="center"

            />

    </LinearLayout>

<LinearLayout 

    android:layout_width="0px"

    android:layout_height="wrap_content"

    android:layout_weight="3"

    android:orientation="horizontal"

    >

    <Button 

        android:layout_marginLeft="2px"

            android:layout_marginTop="2px"

            android:layout_marginBottom="2px"

            android:layout_marginRight="2px"

        android:id="@+id/app_add"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="添加"

        

        />

</LinearLayout>

</LinearLayout>


    

  addapplication.XML

      <?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:layout_marginTop="5px"

	android:layout_marginLeft="5px"

	android:layout_marginRight="5px"

    android:orientation="horizontal" >

    <LinearLayout 

    android:layout_width="0px"

    android:layout_height="wrap_content"

    android:layout_weight="7"

    android:orientation="horizontal"

        >

        <ImageView 

            android:layout_marginLeft="2px"

            android:layout_marginTop="2px"

            android:layout_marginBottom="2px"

            android:layout_marginRight="2px"

            android:id="@+id/app_icon"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            

            />

        <TextView 

            android:id="@+id/app_name"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_gravity="center_horizontal"

            android:gravity="center"

            />

    </LinearLayout>

<LinearLayout 

    android:layout_width="0px"

    android:layout_height="wrap_content"

    android:layout_weight="3"

    android:orientation="horizontal"

    >

    <Button 

        android:layout_marginLeft="2px"

            android:layout_marginTop="2px"

            android:layout_marginBottom="2px"

            android:layout_marginRight="2px"

        android:id="@+id/app_add"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="添加"

        

        />

</LinearLayout>

</LinearLayout>


    

最后附上源码,有需要的请留言留下你的邮箱,供嫌长的童鞋学习学习= = ~

有问题请留言

 

小生功能贴<一> --- 动态添加应用 具有长按删除功能


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论