1111import android .os .Message ;
1212import android .text .TextUtils ;
1313import android .view .KeyEvent ;
14+ import android .view .Menu ;
15+ import android .view .MenuItem ;
1416import android .view .View ;
1517import android .view .View .OnClickListener ;
1618import android .webkit .WebSettings ;
1719import android .webkit .WebView ;
1820import android .webkit .WebViewClient ;
1921import android .widget .FrameLayout ;
2022import android .widget .ImageView ;
23+ import android .widget .PopupMenu ;
2124import android .widget .ProgressBar ;
2225
2326import com .brian .common .view .TitleBar ;
2427import com .brian .csdnblog .Config ;
2528import com .brian .csdnblog .Env ;
2629import com .brian .csdnblog .R ;
2730import com .brian .csdnblog .datacenter .preference .SettingPreference ;
31+ import com .brian .csdnblog .manager .BlogManager ;
2832import com .brian .csdnblog .manager .DataFetcher ;
2933import com .brian .csdnblog .manager .DataFetcher .OnFetchDataListener ;
3034import com .brian .csdnblog .manager .DataFetcher .Result ;
3135import com .brian .csdnblog .manager .DataManager ;
32- import com .brian .csdnblog .manager .BlogManager ;
3336import com .brian .csdnblog .manager .ShareManager ;
3437import com .brian .csdnblog .manager .ThreadManager ;
3538import com .brian .csdnblog .manager .TypeManager ;
3639import com .brian .csdnblog .manager .UsageStatsManager ;
3740import com .brian .csdnblog .model .BlogInfo ;
41+ import com .brian .csdnblog .model .Bloger ;
3842import com .brian .csdnblog .model .SearchResult ;
3943import com .brian .csdnblog .parser .BlogHtmlParserFactory ;
4044import com .brian .csdnblog .parser .IBlogHtmlParser ;
@@ -109,6 +113,7 @@ protected void onCreate(Bundle savedInstanceState) {
109113 ButterKnife .bind (this );
110114
111115 initUI ();// 初始化界面
116+ initPopupMenu ();
112117 initListener ();
113118 initAd ();
114119
@@ -213,6 +218,47 @@ private void initUI() {
213218// webSettings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);//适应屏幕,内容将自动缩放
214219 }
215220
221+ PopupMenu popupMenu ;
222+ private void initPopupMenu () {
223+ popupMenu = new PopupMenu (this , mTitleBar .getRightButton ());
224+ Menu menu = popupMenu .getMenu ();
225+ // 通过代码添加菜单项
226+ menu .add (Menu .NONE , Menu .FIRST , 0 , "分享" );
227+ menu .add (Menu .NONE , Menu .FIRST + 1 , 1 , "收藏" );
228+ menu .add (Menu .NONE , Menu .FIRST + 2 , 2 , "博主列表" );
229+
230+ // 监听事件
231+ popupMenu .setOnMenuItemClickListener (new PopupMenu .OnMenuItemClickListener () {
232+
233+ @ Override
234+ public boolean onMenuItemClick (MenuItem item ) {
235+ switch (item .getItemId ()) {
236+ case Menu .FIRST + 0 :
237+ onClickShare ();
238+ break ;
239+ case Menu .FIRST + 1 :
240+ boolean hasFavoed = mBtnFavo .isSelected ();
241+ BlogManager .getInstance ().doFavo (mBlogInfo , !hasFavoed );
242+ mBtnFavo .setSelected (!hasFavoed );
243+ break ;
244+ case Menu .FIRST + 2 :
245+ if (!TextUtils .isEmpty (mBlogInfo .blogerID )) {
246+ LogUtil .log (mBlogInfo .blogerJson );
247+ Bloger bloger = Bloger .fromJson (mBlogInfo .blogerJson );
248+ if (bloger != null ) {
249+ BlogerBlogListActivity .startActivity (BlogContentActivity .this , mBlogInfo .type , bloger );
250+ UsageStatsManager .sendUsageData (UsageStatsManager .USAGE_BLOGER_ENTR , "bloglist" );
251+ }
252+ }
253+ break ;
254+ default :
255+ break ;
256+ }
257+ return false ;
258+ }
259+ });
260+ }
261+
216262 private void initListener () {
217263 mTitleBar .setLeftListener (new OnClickListener () {
218264 @ Override
@@ -224,7 +270,8 @@ public void onClick(View v) {
224270
225271 @ Override
226272 public void onClick (View v ) {
227- onClickShare ();
273+ // onClickShare();
274+ popupMenu .show ();
228275 }
229276 });
230277 mReLoadImageView .setOnClickListener (new OnClickListener () {
0 commit comments