600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > java4android网易云_仿照网易云音乐界面 android特效

java4android网易云_仿照网易云音乐界面 android特效

时间:2023-02-12 07:59:56

相关推荐

java4android网易云_仿照网易云音乐界面 android特效

仿照网易云音乐界面 ,页面UI实现的听不错的,学习ui的朋友可以下载下来研究研究,android特效更多学习。

项目大体框架,由ViewPager和TabContentPagerAdapter实现顶部的左右滑动切换view.

右侧滑动DrawerLayout 实现左右滑动。

项目大体实现:

easy.activity;

importandroid.app.ActionBar;

importandroid.app.FragmentTransaction;

importandroid.content.res.TypedArray;

importandroid.graphics.Color;

importandroid.os.Bundle;

importandroid.support.v4.app.FragmentActivity;

importandroid.support.v4.view.ViewPager;

importandroid.support.v4.widget.DrawerLayout;

importandroid.util.Log;

importandroid.view.Gravity;

importandroid.view.Menu;

importandroid.view.MenuItem;

importandroid.view.View;

importandroid.widget.ImageView;

importjava.lang.reflect.Method;

easy.R;

easy.adapter.TabContentPagerAdapter;

publicclassMainActivityextendsFragmentActivity{

privateViewPagermViewPager;

privateDrawerLayoutslideMenu;

privateActionBaractionBar;

privateTabContentPagerAdaptermPagerAdapter;

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

actionBar=getActionBar();

mViewPager=(ViewPager)findViewById(R.id.view_pager);

slideMenu=(DrawerLayout)findViewById(R.id.slide_menu);

slideMenu.setScrimColor(Color.argb(50,0,0,0));

mPagerAdapter=newTabContentPagerAdapter(getSupportFragmentManager());

mViewPager.setAdapter(mPagerAdapter);

mViewPager.setOnPageChangeListener(newViewPager.SimpleOnPageChangeListener(){

@Override

publicvoidonPageSelected(intposition){

actionBar.setSelectedNavigationItem(position);

}

});

actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

ActionBar.TabListenertabListener=newActionBar.TabListener(){

@Override

publicvoidonTabSelected(ActionBar.Tabtab,FragmentTransactionft){

mViewPager.setCurrentItem(tab.getPosition());

}

@Override

publicvoidonTabUnselected(ActionBar.Tabtab,FragmentTransactionft){

}

@Override

publicvoidonTabReselected(ActionBar.Tabtab,FragmentTransactionft){

}

};

TypedArraytabIconIds=getResources().obtainTypedArray(R.array.actionbar_icons);

for(inti=0;i

Viewview=getLayoutInflater().inflate(R.layout.actionbar_tab,null);

ImageViewtabIcon=(ImageView)view.findViewById(R.id.actionbar_tab_icon);

tabIcon.setImageResource(tabIconIds.getResourceId(i,-1));

actionBar.addTab(actionBar.newTab().setCustomView(view).setTabListener(tabListener));

}

enableEmbeddedTabs(actionBar);

}

/**

*在actionbar中内嵌Tab

*

*@paramactionBaractionbar

*/

privatevoidenableEmbeddedTabs(android.app.ActionBaractionBar){

try{

MethodsetHasEmbeddedTabsMethod=actionBar.getClass().getDeclaredMethod("setHasEmbeddedTabs",boolean.class);

setHasEmbeddedTabsMethod.setAccessible(true);

setHasEmbeddedTabsMethod.invoke(actionBar,true);

}catch(Exceptione){

Log.v("enableEmbeddedTabs",e.getMessage().toString());

}

}

@Override

publicbooleanonCreateOptionsMenu(Menumenu){

getMenuInflater().inflate(R.menu.menu_main,menu);

returntrue;

}

@Override

publicbooleanonOptionsItemSelected(MenuItemitem){

intid=item.getItemId();

if(id==R.id.action_search){

//TODO:-07-25搜索界面

}elseif(id==R.id.action_menu){

//TODO:-07-25菜单选择

if(slideMenu.isDrawerOpen(Gravity.RIGHT)){

slideMenu.closeDrawer(Gravity.RIGHT);

}else{

slideMenu.openDrawer(Gravity.RIGHT);

}

}

returntrue;

}

}

//

easy.activity;

importandroid.annotation.TargetApi;

importandroid.app.ActionBar;

importandroid.os.Build;

importandroid.os.Bundle;

importandroid.support.v4.app.Fragment;

importandroid.support.v4.app.FragmentActivity;

importandroid.support.v4.app.FragmentTransaction;

importandroid.view.Menu;

importandroid.view.MenuItem;

importandroid.view.View;

importandroid.widget.FrameLayout;

easy.R;

easy.fragment.discover.fm.CoverFragment;

easy.fragment.discover.fm.LyricFragment;

/**

*Createdbyalex.leeon-07-29.

*/

publicclassPersonalFMActivityextendsFragmentActivity{

privateActionBaractionBar;

privateFragmentfgTo;

privateFragmentfgCover;

privateFragmentfgLyric;

privatebooleanfgFlag=false;

privateFrameLayoutframeContainer;

@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_personal_fm);

actionBar=getActionBar();

actionBar.setTitle("私人FM");

actionBar.setDisplayShowTitleEnabled(true);

actionBar.setDisplayUseLogoEnabled(true);

actionBar.setDisplayHomeAsUpEnabled(true);

actionBar.setDisplayShowHomeEnabled(true);

actionBar.setLogo(R.drawable.actionbar_logo);

actionBar.setHomeAsUpIndicator(R.drawable.rdi_icn_arr);

if(fgCover==null){

fgCover=newCoverFragment();

}

if(!fgCover.isAdded()){

getSupportFragmentManager().beginTransaction().add(R.id.frame_fm_container,fgCover,CoverFragment.class.getSimpleName()).commit();

}

fgTo=fgCover;

frameContainer=(FrameLayout)findViewById(R.id.frame_fm_container);

frameContainer.setOnClickListener(newView.OnClickListener(){

@Override

publicvoidonClick(Viewv){

if(fgFlag){

if(fgCover==null){

fgCover=newCoverFragment();

}

switchFragment(fgTo,fgCover);

}else{

if(fgLyric==null){

fgLyric=newLyricFragment();

}

switchFragment(fgTo,fgLyric);

}

fgFlag=!fgFlag;

}

});

}

@Override

publicbooleanonCreateOptionsMenu(Menumenu){

getMenuInflater().inflate(R.menu.menu_personal_fm,menu);

returntrue;

}

@Override

publicbooleanonOptionsItemSelected(MenuItemitem){

intid=item.getItemId();

switch(id){

caseandroid.R.id.home:

finish();

break;

}

returntrue;

}

publicvoidswitchFragment(Fragmentfrom,Fragmentto){

if(from==null||to==null||from==to){

return;

}

FragmentTransactiontransaction=getSupportFragmentManager().beginTransaction();

transaction.setCustomAnimations(R.anim.abc_fade_in,R.anim.abc_fade_out);

if(!to.isAdded()){

//隐藏当前的fragment,add下一个到Activity中

transaction.hide(from).add(R.id.frame_fm_container,to).commit();

}else{

//隐藏当前的fragment,显示下一个

transaction.hide(from).show(to).commit();

}

fgTo=to;

}

}

文章来源《IT蓝豹》android特效技术分享网站

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。