在一些交互體驗上做的比較的app上都有這麼一個小功能,就是當你手指點擊到標題欄的時候,會把你當前瀏覽的位置自動的滾動到該頁面的起始的位置。
大概就是下面這個樣子:
額……這裏當然不是來講用戶體驗的…哈哈,能分清那個是真正的知乎日報嘛?
上面是這個頁面的佈局,最外層是Activity,裏面的內容部分使用Fragment做展示。
下面要講的是如何在Fragment中調用Activity裏的控件,這裏我們需要完成的業務就是點擊Activity中的ToolBar,然後將ListView滾動到起始位置,簡單吧?下面直接上代碼:
//在Fragment中使用Activity中控件的方式
AppCompatActivity activity = (AppCompatActivity) getActivity();
Toolbar mToolBar = (Toolbar) activity.findViewById(R.id.toolbar);
mToolBar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mHeaderListView.smoothScrollToPosition(0);
}
});
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
步驟就是,在當前的Fragment中調用getActivity方法獲取依附着的那個Activity,然後再用獲取到的Activity去findViewById拿到你需要的控件對其操作就行了。