android+qq底部界面,Android 高仿QQ 界面滑动效果

Android高仿QQ界面滑动效果

点击或者滑动切换画面,用ViewPager实现,

QQ%E6%88%AA%E5%9B%BE20130224164702.png

首先是布局文件:

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

android:layout_width="match_parent"

android:layout_height="62dip"

android:orientation="vertical"

android:background="@drawable/top_theme_blue">

android:layout_width="match_parent"

android:layout_height="36dip"

android:orientation="horizontal"

android:gravity="center_vertical">

android:id="@+id/main_avatar"

android:layout_width="32dip"

android:layout_height="32dip"

android:src="@drawable/avatar" />

android:id="@+id/main_nick"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textColor="#FFFFFF"

android:text="Vestigge"/>

android:layout_width="14dip"

android:layout_height="14dip"

android:src="@drawable/status_online"/>

android:layout_width="match_parent"

android:layout_height="26dip"

android:orientation="horizontal"

android:gravity="bottom">

android:id="@+id/main_radiogroup"

android:orientation="horizontal"

android:paddingTop="1dp"

android:layout_width="fill_parent"

android:layout_height="wrap_content">

android:id="@+id/main_radio_recent"

android:checked="true"

android:text="动态"

android:textColor="@color/tab_text"

android:drawableBottom="@drawable/top_tab_selector"

style="@style/radio_style"/>

android:id="@+id/main_radio_buddy"

android:text="群组"

android:textColor="@color/tab_text"

android:drawableBottom="@drawable/top_tab_selector"

style="@style/radio_style"/>

android:id="@+id/main_radio_group"

android:text="好友"

android:textColor="@color/tab_text"

android:drawableBottom="@drawable/top_tab_selector"

style="@style/radio_style"

android:checked="true"/>

android:id="@+id/main_radio_trends"

android:text="会话"

android:textColor="@color/tab_text"

android:drawableBottom="@drawable/top_tab_selector"

style="@style/radio_style"/>

android:id="@+id/main_viewpager"

android:layout_width="match_parent"

android:layout_height="match_parent" >

代码:

public class MainActivity extends ActivityGroup {

private static final String TRENDS="动态";

private static final String GROUP="群组";

private static final String BUDDY="好友";

private static final String RECENT="会话";

private ArrayList pageViews;

private RadioGroup radioGroup;

private ViewPager viewPager;

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.activity_main);

initView();

viewPager=(ViewPager) findViewById(R.id.main_viewpager);

viewPager.setAdapter(new PagerAdapter(){

public int getCount() {

return pageViews.size();

}

public boolean isViewFromObject(View view, Object objcet) {

return view==objcet;

}

//这里会对需要进行水平切换的页面进行了加载和初始化 android:tileMode="repeat"

public Object instantiateItem(View view, int id) {

((ViewPager)view).addView(pageViews.get(id));

return pageViews.get(id);

}

public void destroyItem(View view, int id, Object arg2) {

((ViewPager) view).removeView(pageViews.get(id));

}

});

viewPager.setCurrentItem(2);//默认显示的是好友页面

radioGroup = (RadioGroup) findViewById(R.id.main_radiogroup);

radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {

public void onCheckedChanged(RadioGroup group, int checkedId) {

setClick(checkedId);

}

});

}

void initView() {

pageViews=new ArrayList();

View view1 = getLocalActivityManager().startActivity(TRENDS,

new Intent(this, TrendsActivity.class)).getDecorView();

View view2 = getLocalActivityManager().startActivity(GROUP,

new Intent(this, GroupActivity.class)).getDecorView();

View view3 = getLocalActivityManager().startActivity(BUDDY,

new Intent(this, BuddyActivity.class)).getDecorView();

View view4 = getLocalActivityManager().startActivity(RECENT,

new Intent(this, RecentActivity.class)).getDecorView();

pageViews.add(0,view1);

pageViews.add(1,view2);

pageViews.add(2,view3);

pageViews.add(3,view4);

}

public void setClick(int id) {

switch(id){

case R.id.main_radio_trends:

viewPager.setCurrentItem(0);

break;

case R.id.main_radio_group:

viewPager.setCurrentItem(1);

break;

case R.id.main_radio_buddy:

viewPager.setCurrentItem(2);

break;

case R.id.main_radio_recent:

viewPager.setCurrentItem(3);

break;

}

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

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

return true;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值