android 小练习(一) ---仿微信UI主界面

这篇博客介绍了如何在Android中仿照微信UI创建主界面,包括自定义ActionBar、添加ActionProvider、创建底部导航栏及Fragment切换。作者详细讲解了每个步骤,从注册Activity、设置ActionBar主题,到创建自定义ActionProvider,以及处理点击事件和修改样式。最后展示了代码实现和运行效果。

ActionBar

相信大家都用过微信,微信的界面我们从上往下看,首先是一个ActionBar,并且自定义了ActionProvider,就是那个“加号”,里面有五个子菜单。今天就来试着模仿微信写一个UI界面。
我们先创建一个主Activity,用于显示微信的主界面:

public class MainActivity extends Activity {
   
   
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_main);
    }
}

接下来在Manifest.xml布局文件中注册,并修改Theme属性(AcitonBar的主题):

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@android:style/Theme.Holo.Light">
        <activity android:name=".MainActivity"
            android:label="微信">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>

接下来创建一个MyActionProvider继承自AcitonProvider,并重写onCreateActionView()和onPrepareSubMenu()方法:

public class MyActionProvider extends ActionProvider{
   
   

    public MyActionProvider(Context context) {
        super(context);
    }

    @Override
    public View onCreateActionView() {
        return null;
    }

    @Override
    public boolean hasSubMenu() {
        return true;
    }

    @Override
    public void onPrepareSubMenu(SubMenu subMenu) {
        subMenu.clear();//注意这个方法
        subMenu.add("发起群聊").setIcon(R.drawable.item1)
                .setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
                    @Override
                    public boolean onMenuItemClick(MenuItem item) {
                    //添加点击事件
                        return true
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值