• 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>

    整体效果图为

      

  • 相关阅读:
    ionic3-ng4学习见闻--(aot方式打包问题解决方案)
    ionic3-ng4学习见闻--(轮播图完美方案)
    ionic3-ng4学习见闻--(多语言方案)
    死也要上npm 而不是cnpm苟且偷生
    2017埙箫简谱清单分享(附音频Demo)
    《好久不见》(Cover 陈奕迅)箫声远 洞箫
    React-onsenui之RouterNavigator组件解读
    基于3ds Max的游戏建模方案
    重拾SQL——从无到有
    重拾SQL——表中索值
  • 原文地址:https://www.cnblogs.com/mark0812/p/6097751.html
Copyright © 2020-2023  润新知