模拟微信主界面

import android.os.Bundle;
import android.app.Activity;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity implements OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // [1]找到我们关心的控件
        Button btn_contact = (Button) findViewById(R.id.btn_contact);
        Button btn_discover = (Button) findViewById(R.id.btn_discover);
        Button btn_me = (Button) findViewById(R.id.btn_me);
        Button btn_wx = (Button) findViewById(R.id.btn_wx);

        // [2]给按钮设置点击事件
        btn_contact.setOnClickListener(this);
        btn_discover.setOnClickListener(this);
        btn_me.setOnClickListener(this);
        btn_wx.setOnClickListener(this);

    }

    @Override
    public void onClick(View v) {

        // [3]具体判断一下我点击的是哪个按钮

        //[4]获取fragment的管理者
        FragmentManager fragmentManager = getFragmentManager();
        //[5]开启事物
        FragmentTransaction transaction = fragmentManager.beginTransaction();

        switch (v.getId()) {
        case R.id.btn_wx: // 说明点击了微信按钮
            transaction.replace(R.id.ll, new WxFragment());
            break;

        case R.id.btn_contact: // 说明点击了微信按钮
            transaction.replace(R.id.ll, new ContactFragment());
            break;

        case R.id.btn_discover: // 说明点击了微信按钮
            transaction.replace(R.id.ll, new DiscoverFragment());
            break;

        case R.id.btn_me: // 说明点击了微信按钮
            transaction.replace(R.id.ll, new MeFragment());
            break;
        }
        //[6]最后一布 记得 提交事物
        transaction.commit();

    }
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;

public class WxFragment extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_wx, null);
        view.findViewById(R.id.btn_test).setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                System.out.println("哈哈哈 我被点击了");
            }
        });

        return view;
    }

}
fragment_wx.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="这是微信模块" />

    <Button
        android:id="@+id/btn_test"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="test"
        />

</LinearLayout>
时间: 2024-08-22 05:23:19

模拟微信主界面的相关文章

Android ActionBar应用实战,高仿微信主界面的设计

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/26365683 经过前面两篇文章的学习,我想大家对ActionBar都已经有一个相对较为深刻的理解了.唯一欠缺的是,前面我们都只是学习了理论知识而已,虽然知识点已经掌握了,但是真正投入到项目实战当中时会不会掉链子还很难说.那么不用担心,本篇文章我就将带领大家一起进入ActionBar的应用实战,将理论和实践完美结合到一起. 如果你还没有看过我的前两篇文章,建议先去阅读一下 Andr

仿微信主界面导航栏图标字体颜色的变化

在所有的移动产品中,微信的界面做的很简洁,简单,我对微信主界面影响最深的就是微信底部导航栏的图标,以及字体颜色的变化,一直都想实现以下,今天有空,就大体的模仿者做了一遍. 效果图如下: 分析: 底部主要分为图标的渐变,字体颜色的渐变. 图标的颜色的渐变:主要是通过canvas绘制两个不同的图片,控制其图片的alpha透明度,来达到图标的渐变. 字体颜色:字体颜色就很好说了,Animator动画框架应该很熟悉了,在Animator框架中,有一个TypeEven是来计算十六进制色值的,我们可以通过A

Android 之高仿微信主界面

源码下载:  http://files.cnblogs.com/aibuli/WeChatSample.zip 主界面主要使用ActionBar来完成.  要实现这个效果,第一步当然是编辑menu目录下的main.xml文件. <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:

仿微信主界面

跟着慕课网的教学视频学习了如何制作微信的主界面,因为还有一些地方并没有完全搞懂,所以这里主要是记录下整个制作的过程,方便以后的学习! 效果图如图所示: 实现了点击下面tab切换fragment以及滑动切换tab的功能,同时滑动时,下面tab的icon会实现颜色渐变的效果. 首先是主界面的布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:bunschen="

Android利用ViewPager仿微信主界面-android学习之旅(78)

首先是介绍ViewPager这个控件 ,这个控件需要pagerAdapter作为容器来提供数据,同时pagerAdapter的数据源是View数组 效果图如下 部分代码如下,实现如下的方法 mPagerAdapter = new PagerAdapter(){ @Override public int getCount() { return mViews.size(); } @Override public boolean isViewFromObject(View view, Object o

ViewPager实现微信主界面

一前言 在微信中,tab底栏有四个按钮,中间是可以左右滑动的界面,上面一个标题栏,大致情况如此,今天我们就来模仿一下,写出微信的UI. 好,废话咱少讲,先来上图看效果. 二XML布局         1.Tab底栏  bottle.xml 在XML布局中,tab底栏我们用一个LinearLayout嵌套四个LinearLayout,这四个子LinearLayout中嵌套一个ImageButton和一个TextView垂直排列就好了. 1 <?xml version="1.0" e

使用FragmentTabHost和ViewPager实现仿微信主界面策划

最近看到很多界面主页都差不多,决定研究研究写出来,以后直接拿来用,不做代码的轮子,多总结,多学习 还是废话少说,先上图 介绍一下我的代码: 首先是布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width=&quo

[模拟Android微信]主界面

首先看很像模仿: 走出来: 实现过程: 依赖类库:actionbarsherlock 用actionbarsherlock来实现顶部的搜索的效果. tab用的是Viewpaper实现的. 详细细节: 1.聊天.发现和通讯录地下的绿色的矩形和地下的灰色细线是重合的,怎么实现这样的效果呢.仅仅要使用 RelativeLayout.然后使得两个ImageView的 android:layout_alignBottom属性都指向同一个View. 2."聊天"右边的红底白字1 要实现这个效果,能

高仿微信主界面:ViewPage+Fragment 不预加载Fragment 也不会销毁Fragment

微信支持下面四个Tab滑动,之前做的demo,遇到两个问题,1:Fragment会预加载,2:创建过的Fragment,来回滑动,会销毁重新创建.今天我这个demo,就要解决这两个问题.第一个问题需要导入一个新的V4包,最后我会提供,ViewPage要设置 mViewPager .setOffscreenPageLimit(0);这样的就能解决预加载的问题.第二个问题:我贴上代码: package com.example.fragmentviewpage; import java.util.Ar