今年很流行这种伪沉浸式状态栏效果,直接上代码!
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TabHost;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/**
* 以下代码是隐藏状态栏,有兴趣的可以单独查下方法的意思
*/
View decorView = getWindow().getDecorView();
int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
decorView.setSystemUiVisibility(option);
getWindow().setStatusBarColor(Color.TRANSPARENT);
/**
* 添加tabhost
*/
View tab_find = LayoutInflater.from(this).inflate(R.layout.tab_game_center,null);
View tab_mine = LayoutInflater.from(this).inflate(R.layout.tab_game_two,null);
TabHost mTabHost = (TabHost) findViewById(android.R.id.tabhost);
mTabHost.setup();
mTabHost.addTab(mTabHost.newTabSpec("tab1").setIndicator(tab_find).setContent(R.id.chatFragment));
mTabHost.addTab(mTabHost.newTabSpec("tab2").setIndicator(tab_mine).setContent(R.id.gameCenterFragment));
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction transaction = fm.beginTransaction();
transaction.replace(R.id.chatFragment, new OneFragment());
transaction.replace(R.id.gameCenterFragment, new TwoFragment());
transaction.commit();
}
}
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.youth.banner.Banner;
import com.youth.banner.BannerConfig;
import com.youth.banner.Transformer;
import com.youth.banner.loader.ImageLoader;
import java.util.ArrayList;
import java.util.List;
/**
* 作者: 田翯 on 2016/11/10.
*/
public class TwoFragment extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_two, null);
return view;
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
List
images = new ArrayList<>();
images.add("http://xqimg.imedao.com/158477c2af6186f3fe117aae.jpg!custom660.jpg");
images.add("http://i.dimg.cc/a2/6c/50/f2/88/13/36/a3/d1/8b/20/34/5e/e0/54/71.jpg");
Banner banner = (Banner) getActivity().findViewById(R.id.banner);
//设置banner样式
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE);
//设置图片加载器
banner.setImageLoader(new GlideImageLoader());
//设置图片集合
banner.setImages(images);
//设置banner动画效果
banner.setBannerAnimation(Transformer.DepthPage);
//设置标题集合(当banner样式有显示title时)
// banner.setBannerTitles(Arrays.
asList(String.valueOf(titles)));
//设置自动轮播,默认为true
banner.isAutoPlay(true);
//设置轮播时间
banner.setDelayTime(1500);
//设置指示器位置(当banner模式中有指示器时)
banner.setIndicatorGravity(BannerConfig.RIGHT);
//banner设置方法全部调用完毕时最后调用
banner.start();
}
public class GlideImageLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
/**
常用的图片加载库:
Glide:Google推荐的图片加载库,专注于流畅的滚动。
*/
//Glide 加载图片简单用法
Glide.with(context).load(path).into(imageView);
}
}
}