Android仿微信主界面设计

2019-12-10 19:13:10刘景俊

这样的ActionBar基本实现了我们想要的功能,剩下的就差样式之类,所以修改Style.xml文件,AS里面也自带主题编辑器,暂时还没用到过,后期尝试

<resources>

  <!-- 这里可以使用官方的编译器来设置,具体还要再次学习-->
  <style name="App_Theme" parent="@android:style/Theme.Holo.Light">
    <!-- Customize your theme here. -->
    <item name="android:actionBarStyle">@style/wexinActionBar</item>
    <item name="android:itemBackground">@drawable/actionbar_bg_selector</item>
    <item name="android:actionBarItemBackground">@drawable/actionbar_bg_selector</item>
    <item name="android:itemTextAppearance">@style/WeChatActionBarTitleText</item>
    <item name="android:actionOverflowButtonStyle">@style/WeChatActionButtonOverflow</item>
  </style>

  <style name="wexinActionBar" parent="@android:style/Widget.Holo.ActionBar">
    <item name="android:background">#303537</item>
    <item name="android:titleTextStyle">@style/WeChatActionBarTitleText</item>
  </style>
  <style name="WeChatActionBarTitleText" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
    <item name="android:textColor">#cfcfcf</item>
    <item name="android:textSize">17sp</item>
  </style>

  <style name="WeChatActionButtonOverflow" parent="android:style/Widget.Holo.ActionButton.Overflow">
    <item name="android:src">@drawable/actionbar_more_icon</item>
  </style>
</resources>

二.主界面的设计

使用PagerSlidingTabStrip+viewpager,两者会自动适配,用起来很方便.
在main_activity.xml中配置

<RelativeLayout xmlns:android="http://www.easck.com/apk/res/android"
  xmlns:tools="http://www.easck.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  xmlns:app="http://www.easck.com/apk/res-auto"
  tools:context=".MainActivity">
  <!--引入的类似ActionBar的一个tabs开源项目 -->
  <com.astuetz.PagerSlidingTabStrip
    android:id="@+id/tabs"
    android:layout_width="match_parent"
    app:pstsShouldExpand="true"
    android:layout_height="40dp"/>
  <android.support.v4.view.ViewPager
    android:id="@+id/pagers"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/tabs"
    />
</RelativeLayout>