ListView实现浮动窗口

来源:互联网 发布:nlp分词算法 编辑:程序博客网 时间:2024/05/16 15:10

思路是在滑动ListView的时候,监听第一个可视item的位置来判断
是否需要显示窗口

package com.example.menu;import android.graphics.Color;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.util.Log;import android.view.View;import android.view.ViewGroup.LayoutParams;import android.widget.AbsListView;import android.widget.AbsListView.OnScrollListener;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends ActionBarActivity {    private ListView listView;    private LinearLayout ll;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        listView = (ListView) findViewById(R.id.list);        ll=(LinearLayout)findViewById(R.id.ll);        ImageView image = new ImageView(getApplicationContext());        image.setBackgroundResource(R.drawable.fang360_1);        listView.addHeaderView(image);        listView.setAdapter(new MyAdapter(this));        listView.setOnScrollListener(new OnScrollListener() {            @Override            public void onScrollStateChanged(AbsListView view, int scrollState) {            }            @Override            public void onScroll(AbsListView view, int firstVisibleItem,                    int visibleItemCount, int totalItemCount) {                if(firstVisibleItem==0||firstVisibleItem==1){                    ll.setVisibility(View.INVISIBLE);                }else{                    ll.setVisibility(View.VISIBLE);                }            }        });    }    public void news(View view){        Toast.makeText(getApplicationContext(), "news", Toast.LENGTH_SHORT).show();    }    public void chat(View view){        Toast.makeText(getApplicationContext(), "chat", Toast.LENGTH_SHORT).show();    }    public void blog(View view){        Toast.makeText(getApplicationContext(), "blog", Toast.LENGTH_SHORT).show();    }    public void focus(View view){        Toast.makeText(getApplicationContext(), "focus", Toast.LENGTH_SHORT).show();    }}
package com.example.menu;import android.content.Context;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;public class MyAdapter extends BaseAdapter{    private Context context;    public MyAdapter(Context context) {        this.context=context;    }    @Override    public int getCount() {        return 20;    }    @Override    public Object getItem(int position) {        return null;    }    @Override    public long getItemId(int position) {        return 0;    }    @Override    public View getView(int position, View convertView, ViewGroup parent) {        ImageView imageView=new ImageView(context);        imageView.setBackgroundResource(R.drawable.top_bar);        if(position==0){            imageView.setBackgroundResource(R.drawable.fang360_2);        }        return imageView;    }}
<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" >  <ListView        android:id="@+id/list"        android:layout_width="match_parent"        android:layout_height="match_parent" />    <LinearLayout        android:visibility="invisible"        android:id="@+id/ll"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal" >        <Button            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:onClick="news"            android:text="新闻" />        <Button            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:onClick="chat"            android:text="米聊" />        <Button            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:onClick="blog"            android:text="博客" />        <Button            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:onClick="focus"            android:text="关注" />    </LinearLayout></RelativeLayout>

效果图
这里写图片描述
这里写图片描述

0 0
原创粉丝点击