zoukankan      html  css  js  c++  java
  • android布局实践——模仿微信主界面

    这是目前微信6.0版本的主界面

      

    先来分析一波:

      1.(top.xml)界面头部有一个微信(6)消息提醒    一个搜索图标   一个更多的的图标+,中间还有一段空白,我们可以弄两个textView(其中一个权重给会自动占其余空白部分),和两个图片按钮

      2.(bottom.xml)界面底部可以看到是由4个相同的部分组成,这里我们可以先弄个单选群( <RadioGroup>)给4个包起来,然后再分为4个单选按钮控件(radioButton)

      3.(wx.xml)然后我们再建一个wx.xml把前面两个包含进来,有上面图片可看出界面分三部分,所以我们zai'wx.xml新建三个LinearLayout分别显示头部,中部和底部

      4.底部4个控件当我们点击其中一个会变成绿色,其余为白色,这里我们可以在drawable中添加选择器分别设置(tab_wx.xml,tab_lxr.xml,tab_fx.xml,tab_wo.xml)。

    代码如下:

      1.top.xml

        

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     3     android:layout_width="match_parent"
     4     android:layout_height="50dp"
     5     android:orientation="horizontal" 
     6     android:background="#21292c">
     7 
     8     <TextView
     9         android:id="@+id/textView1"
    10         android:layout_width="wrap_content"
    11         android:layout_height="wrap_content"
    12         android:text="微信"
    13         android:textColor="#ffffff"
    14         android:textSize="20sp"
    15         android:layout_gravity="center" 
    16         android:padding="10dp"/>
    17 
    18     <TextView
    19         android:layout_width="wrap_content"
    20         android:layout_height="wrap_content"
    21         android:layout_weight="1" />
    22 
    23     <LinearLayout
    24         android:layout_width="wrap_content"
    25         android:layout_height="match_parent" 
    26         android:gravity="center">
    27 
    28         <ImageView
    29             android:id="@+id/imageView2"
    30             android:layout_width="40dp"
    31             android:layout_height="30dp"
    32             android:src="@drawable/actionbar_search_icon" 
    33             android:layout_marginRight="10dp"/>
    34 
    35         <ImageView
    36             android:id="@+id/imageView1"
    37             android:layout_width="40dp"
    38             android:layout_height="30dp"
    39             android:src="@drawable/actionbar_add_icon" />
    40         
    41     </LinearLayout>
    42 
    43 </LinearLayout>

    2.bottom.xml

      

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     3     android:layout_width="match_parent"
     4     android:layout_height="match_parent"
     5     android:orientation="horizontal" >
     6 
     7     <RadioGroup
     8         android:id="@+id/radioGroup1"
     9         android:layout_width="match_parent"
    10         android:layout_height="50dp" 
    11         padding
    12         android:orientation="horizontal"
    13         android:background="@drawable/back"
    14         android:gravity="center">
    15 
    16         <RadioButton
    17             android:id="@+id/radio0"
    18             android:layout_width="wrap_content"
    19             android:layout_height="wrap_content"
    20             android:checked="true"
    21             android:text="@string/wx" 
    22                style="@style/radioStyle"
    23                android:drawableTop="@drawable/tab_wx"/>    注:在后面有介绍到
    24 
    25         <RadioButton
    26             android:id="@+id/radio1"
    27             style="@style/radioStyle"
    28             android:layout_width="wrap_content"
    29             android:layout_height="wrap_content"
    30             android:drawableTop="@drawable/tab_lxr"
    31             android:text="@string/lxr" />
    32 
    33         <RadioButton
    34             android:id="@+id/radio2"
    35             android:layout_width="wrap_content"
    36             android:layout_height="wrap_content"
    37             android:text="@string/fx" 
    38                style="@style/radioStyle"
    39                android:drawableTop="@drawable/tab_fx"/>
    40         
    41          <RadioButton
    42             android:id="@+id/radio3"
    43             android:layout_width="wrap_content"
    44             android:layout_height="wrap_content"
    45             android:text="@string/wo"
    46                style="@style/radioStyle" 
    47                android:drawableTop="@drawable/tab_wo"/>
    48     </RadioGroup>
    49 
    50 </LinearLayout>

    3.wx.xml

      

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     3     android:layout_width="match_parent"
     4     android:layout_height="match_parent"
     5     android:orientation="vertical" >
     6     <!-- head -->
     7     <LinearLayout
     8         android:layout_width="match_parent"
     9         android:layout_height="wrap_content" >
    10         <include layout="@layout/top"/>
    11     </LinearLayout>
    12     
    13     <!-- 中间 -->
    14     <LinearLayout
    15         android:layout_width="match_parent"
    16         android:layout_height="wrap_content" 
    17         android:layout_weight="1">
    18     </LinearLayout>
    19     
    20     <!-- 底部 -->
    21     <LinearLayout
    22         android:layout_width="match_parent"
    23         android:layout_height="wrap_content" >
    24         <include layout="@layout/bottom"/>
    25     </LinearLayout>
    26 
    27 </LinearLayout>

    4.tab_wx.xml,tab_lxr.xml,tab_fx.xml,tab_wo.xml   和text_color.xml

      前面4个文件都差不多所以只展示一个(分别为底部那四个图片)

        

    1 <?xml version="1.0" encoding="utf-8"?>
    2 <selector xmlns:android="http://schemas.android.com/apk/res/android" >
    3      <item android:state_checked="true"
    4         android:drawable="@drawable/wo1"></item>
    5     <item 
    6         android:drawable="@drawable/wo"></item>
    7 
    8 </selector>

    text_color.xml

      

    1 <?xml version="1.0" encoding="utf-8"?>
    2 <selector xmlns:android="http://schemas.android.com/apk/res/android" >
    3     <item android:state_checked="true"
    4         android:color="#07bb07"></item>
    5     <item 
    6         android:color="#999999"></item>
    7 
    8 </selector>

    这个text 如何用的呢?

      找到values文件下的styles.xml加入下面代码

      

    1  <style name="radioStyle">
    2         <item name="android:button">@null</item>
    3         <item name="android:layout_weight">1</item>
    4         <item name="android:TextSize">15sp</item>
    5         <item name="android:gravity">center</item>
    6         <item name="android:textColor">@drawable/text_color</item>
    7     </style>

    整体效果图为

      

  • 相关阅读:
    nat下没法ping通virutalbox中的centos7,解决共享文件夹问题
    深度学习的精确率和召回率,浅显的例子
    python发送邮件心得体会
    ubuntu 16.04 搭建tigervnc
    交叉编译7zip过程
    git使用经验汇总
    python 开发环境部署
    Ubuntu设置su和sudo为不需要密码 (摘录自别处)
    ubuntu 16.04 安装wechat, chrome等
    andorid开发build.gradle 增加几种产品的方法
  • 原文地址:https://www.cnblogs.com/mark0812/p/6097751.html
Copyright © 2011-2022 走看看