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
- ListView实现浮动窗口
- javascript实现浮动窗口
- Html 实现浮动窗口
- Android浮动窗口的实现
- PopupWindow组件实现浮动窗口
- JQuery实现浮动窗口原理
- Android 实现顶层窗口、浮动窗口
- 类似flashget的浮动窗口的实现
- 类似flashget的浮动窗口的实现
- asp.net怎么实现QQ浮动窗口???
- 半透明信息显示浮动窗口的实现
- 半透明信息显示浮动窗口的实现
- 半透明信息显示浮动窗口的实现
- 半透明信息显示浮动窗口的实现
- 网页中实现浮动客服窗口
- 轻松实现类VC界面浮动窗口
- 类似flashget的浮动窗口的实现
- 半透明信息显示浮动窗口的实现
- OpenGL系列教程之六:OpenGL顶点数组
- Head First PHP 第4章 addemail.php
- Swift-UITableView代理方法详解
- Android知识点复习整理
- C#的22课的主要内容
- ListView实现浮动窗口
- 管理类项目:iframe嵌入
- odoo之工作流---一些属性含义
- const与指针一起使用的组合情况:
- Head First PHP 第4章 removeemail.php
- OpenGL系列教程之七:OpenGL显示列表
- MapReduce 详解一
- Java mail基础使用 (一)
- MYSQL条件查询--字段A不同值的state为0,1,9的数量统计