国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android仿微博首頁Tab加號彈窗功能

2019-10-22 18:11:23
字體:
供稿:網(wǎng)友

本文實例為大家分享了Android微博首頁Tab加號彈窗展示的具體代碼,供大家參考,具體內(nèi)容如下

Android,Tab,彈窗Android,Tab,彈窗Android,Tab,彈窗Android,Tab,彈窗

Activity部分的代碼

package com.ting.tab;import android.os.Bundle;import android.view.MotionEvent;import android.view.View;import android.view.ViewGroup;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.widget.CompoundButton;import android.widget.RadioButton;import com.ting.ContentActivity0;import com.ting.ContentActivity1;import com.ting.ContentActivity2;import com.ting.ContentActivity3;import com.ting.ContentActivity4;import com.ting.R;public class TabActivityGroup extends AbstractActivityGroup implements View.OnClickListener, View.OnTouchListener { // 加載的Activity的名字,LocalActivityManager就是通過這些名字來查找對應(yīng)的Activity的。 private static final String CONTENT_0 = "contentActivity0"; private static final String CONTENT_1 = "contentActivity1"; private static final String CONTENT_2 = "contentActivity2"; private static final String CONTENT_3 = "contentActivity3"; private static final String CONTENT_4 = "contentActivity4"; private View addButton; private View mPanelView; private View mCloseButton; private View mIdeaButton; private View mPhotoButton; private View mWeiboButton; private View mLbsButton; private View mReviewButton; private View mMoreButton; private Animation mButtonInAnimation; private Animation mButtonOutAnimation; private Animation mButtonScaleLargeAnimation; private Animation mButtonScaleSmallAnimation; private Animation mCloseRotateAnimation; @Override protected void onCreate(Bundle savedInstanceState) {  setContentView(R.layout.activity_tab);  super.onCreate(savedInstanceState);  initView();  initAnimation();  ((RadioButton) findViewById(R.id.radio_button0)).setChecked(true);  setContainerView(CONTENT_0, ContentActivity0.class); } /** * 找到自定義id的加載Activity的View */ @Override protected ViewGroup getContainer() {  return (ViewGroup) findViewById(R.id.container); } /** * 初始化按鈕 */ @Override protected void initTabBarButtons() {  initTabBarButton(R.id.radio_button0);  initTabBarButton(R.id.radio_button1);// initTabBarButton(R.id.radio_button2);  initTabBarButton(R.id.radio_button3);  initTabBarButton(R.id.radio_button4); } /** * 導(dǎo)航按鈕被點擊時,具體發(fā)生的變化 */ @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {  if (isChecked) {   switch (buttonView.getId()) {   case R.id.radio_button0:   setContainerView(CONTENT_0, ContentActivity0.class);   break;   case R.id.radio_button1:   setContainerView(CONTENT_1, ContentActivity1.class);   break;   case R.id.radio_button2://   setContainerView(CONTENT_2, ContentActivity2.class);   break;   case R.id.radio_button3:   setContainerView(CONTENT_3, ContentActivity3.class);   break;   case R.id.radio_button4:   setContainerView(CONTENT_4, ContentActivity4.class);   break;   default:   break;   }  } } //以下是仿微博加號控件添加代碼 private void initView() {  addButton = findViewById(R.id.radio_button2);  mPanelView = findViewById(R.id.panel);  mCloseButton = findViewById(R.id.close);  mIdeaButton = findViewById(R.id.idea_btn);  mPhotoButton = findViewById(R.id.photo_btn);  mWeiboButton = findViewById(R.id.weibo_btn);  mLbsButton = findViewById(R.id.lbs_btn);  mReviewButton = findViewById(R.id.review_btn);  mMoreButton = findViewById(R.id.more_btn);  addButton.setOnClickListener(this);  mCloseButton.setOnClickListener(this);  mIdeaButton.setOnTouchListener(this);  mPhotoButton.setOnTouchListener(this);  mWeiboButton.setOnTouchListener(this);  mLbsButton.setOnTouchListener(this);  mReviewButton.setOnTouchListener(this);  mMoreButton.setOnTouchListener(this); } @Override public void onClick(View view) {  switch (view.getId()) {   case R.id.radio_button2:// 添加按鈕   openPanelView();   break;   case R.id.close:// 關(guān)閉按鈕   closePanelView();   break;  } } @Override public boolean onTouch(final View v, MotionEvent event) {  switch (event.getAction()) {   case MotionEvent.ACTION_DOWN:   // 手指按下,按鈕執(zhí)行放大動畫   v.startAnimation(mButtonScaleLargeAnimation);   break;   case MotionEvent.ACTION_UP:   case MotionEvent.ACTION_CANCEL:   // 手指移開,按鈕執(zhí)行縮小動畫   v.startAnimation(mButtonScaleSmallAnimation);   v.postDelayed(new Runnable() {    @Override    public void run() {     // 縮小動畫執(zhí)行完畢后,將按鈕的動畫清除。這里的150毫秒是縮小動畫的執(zhí)行時間。     v.clearAnimation();    }   }, 150);   break;  }  return true; } // 打開面板視圖 private void openPanelView() {  mPanelView.setVisibility(View.VISIBLE);  mIdeaButton.startAnimation(mButtonInAnimation);  mPhotoButton.startAnimation(mButtonInAnimation);  mWeiboButton.startAnimation(mButtonInAnimation);  mLbsButton.startAnimation(mButtonInAnimation);  mReviewButton.startAnimation(mButtonInAnimation);  mMoreButton.startAnimation(mButtonInAnimation);  mCloseButton.startAnimation(mCloseRotateAnimation); } // 關(guān)閉面板視圖 private void closePanelView() {  // 給6個按鈕添加退出動畫  mIdeaButton.startAnimation(mButtonOutAnimation);  mPhotoButton.startAnimation(mButtonOutAnimation);  mWeiboButton.startAnimation(mButtonOutAnimation);  mLbsButton.startAnimation(mButtonOutAnimation);  mReviewButton.startAnimation(mButtonOutAnimation);  mMoreButton.startAnimation(mButtonOutAnimation); } // 初始化動畫 private void initAnimation() {  mButtonInAnimation = AnimationUtils.loadAnimation(this, R.anim.button_in);  mButtonOutAnimation = AnimationUtils.loadAnimation(this, R.anim.button_out);  mButtonScaleLargeAnimation = AnimationUtils.loadAnimation(this, R.anim.button_scale_to_large);  mButtonScaleSmallAnimation = AnimationUtils.loadAnimation(this, R.anim.button_scale_to_small);  mCloseRotateAnimation = AnimationUtils.loadAnimation(this, R.anim.close_rotate);  mButtonOutAnimation.setAnimationListener(new Animation.AnimationListener() {   @Override   public void onAnimationStart(Animation animation) {   }   @Override   public void onAnimationEnd(Animation animation) {   // 6個按鈕的退出動畫執(zhí)行完畢后,將面板隱藏   mPanelView.setVisibility(View.GONE);   }   @Override   public void onAnimationRepeat(Animation animation) {   }  }); }}

XML 代碼

<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <LinearLayout  android:layout_width="match_parent"  android:layout_height="match_parent"  android:orientation="vertical"  >  <FrameLayout   android:id="@+id/container"   android:layout_width="fill_parent"   android:layout_height="0dp"   android:layout_weight="1"   />  <RadioGroup   android:id="@+id/main_tabs"   style="@style/tab_bar" >   <RadioButton    android:id="@+id/radio_button0"    style="@style/tab_bar_item"    android:checked="true"    android:drawableTop="@drawable/icon_home"    android:text="首頁" />   <RadioButton    android:id="@+id/radio_button1"    style="@style/tab_bar_item"    android:drawableTop="@drawable/icon_meassage"    android:text="消息" />   <RelativeLayout    android:id="@+id/radio_button2"    android:layout_height="38dp"    android:layout_width="40dp"    android:layout_marginLeft="5dp"    android:layout_marginRight="5dp"    android:gravity="center"    android:background="@drawable/tabbar_compose_bg_add_selector"    >    <ImageView     android:layout_height="match_parent"     android:layout_width="wrap_content"     android:src="@drawable/tabbar_compose_icon_add_selector"/>   </RelativeLayout>   <!--android:drawableTop="@drawable/icon_selfinfo"-->   <!--android:text="好友"-->   <RadioButton    android:id="@+id/radio_button3"    style="@style/tab_bar_item"    android:drawableTop="@drawable/icon_square"    android:text="廣場" />   <RadioButton    android:id="@+id/radio_button4"    style="@style/tab_bar_item"    android:drawableTop="@drawable/icon_more"    android:text="更多" />  </RadioGroup> </LinearLayout> <include layout="@layout/view_add"/></FrameLayout>

自己剛剛需要做一個微博首頁的加號動態(tài)的效果的界面,于是在網(wǎng)上找相關(guān)資源,但找到的都是獨立的一個加號的顯示效果,沒有一個完整的tab中的效果,于是就整合了一個,分享給大家!

源碼下載:高仿微博首頁tab加號效果

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到Android開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 林西县| 绥宁县| 南昌县| 长垣县| 本溪| 昆山市| 曲阳县| 巴中市| 凤阳县| 马关县| 翼城县| 海兴县| 庐江县| 英山县| 刚察县| 车险| 辛集市| 平塘县| 江门市| 普兰店市| 望城县| 芜湖市| 同仁县| 鞍山市| 专栏| 宝鸡市| 东阳市| 沙湾县| 广元市| 岗巴县| 临清市| 徐水县| 醴陵市| 贡嘎县| 铅山县| 广宁县| 博爱县| 斗六市| 上虞市| 玉溪市| 夹江县|