fragment中實現listView的滑動隱藏toolbar
要在fragment中實現這個效果。首先你得獲取到toolbar。由於toolbar是在活動中的。通過getActivity獲取的這個類的context。然後進行相關操作。
本人採用的是在fragment中find toolbar 並且setSupportActionBar。所以直接用toolbar。
然後就是listView的的滑動事件監聽 其主要在於幾個方法:
getTranslationY() 獲取控制元件的Y座標
setTranslationY() 設定控制元件的Y座標(控制元件並沒有動)
getY() 獲取觸控位置的Y座標。
還有其他獲取各種長度高度的方法。
利用這些你就可以玩轉滑動事件了,自己設定演算法隨便怎麼玩。
最後一個屬性動畫將toolbar隱藏。屬性動畫也是可以自己做的很漂亮的,可以自己隨意玩的。下面是程式碼。
public class MyFragment1 extends Fragment implements AdapterView.OnItemClickListener{ ListView listView=null; MyAdapter myAdapter=null; Context context=null; private LinkedList<Data> datas=null; private Toolbar ftoolbar=null; private float fstartY=0,flastY=0,flastDeltaY; public MyFragment1(){ } @Override public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) { View view =inflater.inflate(R.layout.f_1,container,false); listView= (ListView) view.findViewById(R.id.listview1); context=getActivity(); datas=new LinkedList<Data>(); datas.add(new Data(R.mipmap.imgid,"wode","我的")); myAdapter=new MyAdapter(context,datas); View header=LayoutInflater.from(context).inflate(R.layout.listview_header,listView,false); listView.addHeaderView(header);//listview新增頭部。 listView.setAdapter(myAdapter); listView.setOnItemClickListener(this); ftoolbar= (Toolbar) getActivity().findViewById(R.id.bar); ((AppCompatActivity)getActivity()).setSupportActionBar(ftoolbar); listView.setOnTouchListener(new View.OnTouchListener() {//滑動事件監聽 @Override public boolean onTouch(View v, MotionEvent event) { final float y=event.getY(); float translationY=ftoolbar.getTranslationY(); switch (event.getAction()){ case MotionEvent.ACTION_DOWN: //手指放下 fstartY=y; flastY=fstartY; break; case MotionEvent.ACTION_MOVE: //手指移動 float fDetaY=y-flastY; float newtransY=translationY+fDetaY; if(newtransY<=0&&newtransY>=-ftoolbar.getHeight()){ ftoolbar.setTranslationY(newtransY); } flastY=y; flastDeltaY=fDetaY; break; case MotionEvent.ACTION_UP: //手指擡起 ObjectAnimator animator=null;//屬性動畫。 if(flastDeltaY<0&&listView.getFirstVisiblePosition()>1){ animator=ObjectAnimator.ofFloat(ftoolbar,"translationY", ftoolbar.getTranslationY(),-ftoolbar.getHeight()); }else{ animator=ObjectAnimator.ofFloat(ftoolbar,"translationY", ftoolbar.getTranslationY(),0); } animator.setDuration(100); animator.start(); break; } return false; } }); return view; } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Toast.makeText(context,"dianji",Toast.LENGTH_SHORT).show(); if(datas==null){ datas=new LinkedList<Data>(); } Data data=new Data(R.mipmap.imgid,"nide","你的"); datas.add(data); myAdapter.notifyDataSetChanged(); }
相關推薦
fragment中實現listView的滑動隱藏toolbar
要在fragment中實現這個效果。首先你得獲取到toolbar。由於toolbar是在活動中的。通過getActivity獲取的這個類的context。然後進行相關操作。 本人採用的是在fragment中find toolbar 並且setSupportActionBar
Android中Fragment+Viewpager實現左右滑動和點選
一.佈局檔案 <?xml version="1.0" encoding="utf-8"?> <android.support.v4.view.ViewPager android:id="@+id/viewpager" andr
Android 在fragment中實現返回鍵單擊提醒 雙擊退出
make listener 一次 time lean 適配器 == sea dagger2 嘗試用mvp架構加dagger2來重寫了一下,大致功能都實現了,還沒有全部完成。 項目地址 接近完成的時候,想在天氣信息頁面實現一個很常見的功能,也就是點擊屏幕下方的返回鍵的時
在fragment中實現Android上傳圖片至本地JavaWeb服務器
prop prefix adt ilo err 1.10 response try 轉換成 服務器端: 需要一個接受文件的servlet,以及導入兩個包:commons-fileupload-1.3.1.jar 和 commons-io-2.4.jar import ja
Android Fragment+Viewpager實現左右滑動和點選 實現DrawerLayout
xml佈局程式碼: <android.support.v4.widget.DrawerLayout xmlns:android=“http://schemas.android.com/apk/res/android” xmlns:app=“http://schemas.androi
vue中實現上下滑動文字通告的功能
<template> <div class="marquee"> <div class="marquee_title"> <span>免費微報</span>
在Activity或Fragment中響應ListView上按鈕的點選方法
通常會有這樣的需求,在item上有一個按鈕是確定,或者刪除或者是其它的什麼按鈕, 需要將按鈕的實現寫著Activity中而且還需要知道點選的是第幾個item。 如上面的item中有三個按鈕,目前這個上面的三個按鈕都是用TextView寫的,首先在Adapter中實現點選方法 在ge
解決fragment與viewpager一起使用時fragment中的listview資料出現重複
activity中需要顯示一個切換頁顯示3個不同的檢視資料,這裡需要使用viewpager+fragment實現切換。在fragment中需要在onstart或者onresume中初始化載入資料。但是viewpager在切換fragment時會呼叫下一個fragmen
Fragment中使用listview
按照步驟來就可以達到效果: 1-新建一個listview.xml 是listview中每個items的樣式 <?xml version="1.0" encoding="utf-8"?
css中實現顯示和隱藏
QQ:979111986/5730473 微信:ainusers 現就職:新浪 微博:AinUser 微信公眾號:AinUser 郵箱:[email protected] 程式設計技術交流群:540049350 github:g
Android實現上下滑動隱藏/顯示工具欄
對於移動端,為了留出更多的空間來顯示內容,我們在向上滑動檢視的時候,總是希望,頂部工具欄和底部工具欄可以隨著我們向上滑動的手勢而自動隱藏。而當我們瀏覽完內容,向下滑動檢視的時候,又希望工具欄可以自動顯示出來響應我們操作。這是一種很好的互動模式,現在我們來看看這種
fragment中 ScrollView 同時巢狀viewpager banner和 listview, scrollview 滑動異常·
fragment中 ScrollView 同時巢狀viewpager banner和 &nbs
Android關於CoordinatorLayout和ListView滑動衝突的解決(上滑ToolBar隱藏,下滑出現)
最近專案中使用到了CoordinatorLayout這種佈局方式,搭配RecycleView,實現起來比較簡單,而且不用自己處理滑動事件,但是改為了ListView後發生了滑動衝突. 所以想到了以下解決方案: 1.使用事件分發,當ListView在Y軸滑動時,將事件交給C
html中實現數據的顯示和隱藏
func 隱藏 obj else content cli solid head utf Author: YangQingQing <!DOCTYPE html><html><meta http-equiv="Content-Type" co
Android中關於View滑動的實現你應該知道的
nan ida gif 當前位置 距離 保存 改變 post 控件 滑動作為Android中最基礎的特效之一,使用場景非常廣泛。實現的方式也有多種,理解各種滑動的實現方式。清楚在開發中根據自己的實際需求,選擇合理的實現方案。這篇文章從:scrollTo()/scrollBy
Android中在fragment A裡面點選button跳轉到fragment B實現方法
方法一:直接getActivity,使用activity的fragmenttransation的replace方法替換 假設 class OneFragment extends Fragment{ private Button btn; @Override p
Fragment 中 ListView繫結ContextMenu
package com.example.administrator.imbobo.controller.fragment;import android.content.BroadcastReceiver;import android.content.Context;import android.content
Fragment 中 ListView綁定ContextMenu
cep led utc red setup npr save troy isn package com.example.administrator.imbobo.controller.fragment;import android.content.BroadcastRece
FloatingActionButton在RecycleView中滑動隱藏顯示
FloatingActionButton是的Google在com.android.support:design庫中的一個懸浮按鈕,一般簡稱(FCB按鈕),他也是Material Design 設計的一員,FCB和RecycleView搭配是使用也是很常見的操作,譬如在recycleView中下滑隱藏上滑顯示,
使用ViewPager+Fragment來實現帶滾動條的多屏滑動-IndicatorFragmentActivity
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!