做Android也有三个星期了,但还没有做项目,一直在做一个练习的Android英语词典,在做的过程中也

遇到过很多问题,今天就来总结一下;因为问题比较多,就分类来总结吧……首先刚开始做的时候,肯

定是做界面啦,不过英语词典里面有一个卡片模式,搞得我很蛋疼,,因为我只知道用LinearLayout,

而用LinearLayout做出那个效果真的有点难,所以我研究了几天,也做了很多尝试,后来终于做出来了

xml代码:

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent" android:background="@android:color/white"android:cacheColorHint="#000000" android:layout_height="match_parent"android:orientation="vertical"><LinearLayout     android:layout_height="wrap_content"android:orientation="vertical" android:layout_width="match_parent"android:gravity="center"><TextView android:id="@+id/textView1" android:textSize="30dip"android:layout_height="60dip" android:gravity="center"android:textColor="#ffffff" android:background="@color/cyan"android:layout_width="fill_parent" android:text="必备单词"/><LinearLayout android:layout_height="wrap_content"android:orientation="horizontal" android:layout_width="match_parent"android:gravity="center"><TextView android:id="@+id/textView2"    android:text="课程重点:"android:textColor="#000000" android:layout_width="wrap_content"android:layout_height="wrap_content"/><Spinner android:id="@+id/spinner1"    android:layout_height="wrap_content"android:entries="@array/bibei"android:prompt="@string/srp_name"android:layout_width="200dip" /></LinearLayout><LinearLayout     android:layout_height="120dip"android:orientation="vertical" android:gravity="right"android:layout_width="280dip"><RelativeLayout     android:layout_height="120dip"android:orientation="horizontal" android:layout_width="280dip"><TextView android:id="@+id/wordView2"android:textColor="#000000" android:textSize="30dip"android:background="@drawable/bg_border"android:gravity="center|center_vertical"android:layout_width="280dip"android:layout_height="match_parent"/><TextView android:id="@+id/sumView2"    android:text="0/0" android:textColor="#000000" android:layout_alignParentRight="true"android:layout_width="wrap_content"android:layout_height="wrap_content"/><TextView android:id="@+id/textView7"    android:layout_width="wrap_content"android:visibility="gone" android:layout_marginLeft="10dip"android:textColor="#ffffff" android:layout_height="wrap_content" android:text=""/><ImageView android:id="@+id/imageView1"    android:layout_height="wrap_content"  android:layout_alignParentLeft="true"android:layout_marginLeft="3dip"android:layout_marginTop="3dip"android:layout_width="wrap_content" android:src="@drawable/qqqw"/><LinearLayout         android:layout_height="wrap_content"    android:orientation="vertical"     android:layout_alignParentBottom="true"    android:gravity="center"    android:layout_width="280dip">        <ImageView android:id="@+id/imageShengyin"    android:layout_height="wrap_content"  android:layout_alignParentLeft="true"android:layout_width="wrap_content" android:src="@drawable/suona"/>    </LinearLayout></RelativeLayout></LinearLayout><LinearLayout     android:layout_height="120dip"android:orientation="horizontal" android:gravity="center"android:layout_width="280dip"><TextView android:id="@+id/enpView2"     android:layout_height="match_parent" android:textColor="#000000" android:textSize="20dip"android:background="@drawable/bg_border"android:gravity="center|center_vertical"android:text="" android:layout_width="280dip"/><TextView android:id="@+id/textID"    android:layout_width="wrap_content"android:visibility="gone" android:layout_marginLeft="10dip"android:textColor="#ffffff" android:layout_height="wrap_content" android:text=""/></LinearLayout><SeekBar android:id="@+id/seekbar"android:layout_width="280dip" android:layout_height="wrap_content" /><LinearLayout     android:layout_height="wrap_content"android:orientation="horizontal" android:gravity="center"android:layout_width="match_parent"><Button android:id="@+id/liubutton1"    android:layout_height="wrap_content" android:text="自动浏览"android:layout_width="wrap_content" /><Button android:id="@+id/shangbutton1"    android:layout_height="wrap_content" android:text="上一页"android:layout_width="wrap_content" /><Button android:id="@+id/xiabutton1"    android:layout_height="wrap_content" android:text="下一页"android:layout_width="wrap_content" /></LinearLayout></LinearLayout><LinearLayout     android:layout_height="wrap_content"android:orientation="vertical" android:layout_width="match_parent"><Button android:id="@+id/button1"    android:layout_height="wrap_content" android:text="返回"android:layout_width="80dip" /></LinearLayout><LinearLayout     android:layout_height="wrap_content"android:orientation="horizontal" android:layout_alignParentBottom="true"android:layout_width="match_parent"><TextView android:id="@+id/kabView2"    android:text="卡片模式" android:textColor="#ffffff" android:background="#2F4F4F"android:gravity="center|center_vertical"android:layout_width="160dip"android:layout_height="40dip" /><TextView android:id="@+id/lieView2"    android:text="列表模式" android:textColor="#ffffff" android:background="#2F4F4F"android:gravity="center|center_vertical"android:layout_width="160dip"android:layout_height="40dip"/></LinearLayout></RelativeLayout>

有些命名什么的不规范,看得懂就行,界面也不好看,不过那是样式的问题了

灵活用LinearLayout和RelativeLayout嵌套使用,足可以应付你的界面了。比如你要一控件在你想要的

任何地方,用RelativeLayout的android:layout_marginTop(距离顶部多少多少)是可以,但界面不可

能就一个控件,有些控件不需要这样,当然就RelativeLayout绝对可以但很麻烦……所以我们可以给一

个LinearLayout让这个控件跟其他区域分清楚点,再在里面用RelativeLayout来布局,这样分块就会很

清晰。

好了,原先我的界面布出来了,在虚拟机里运行也很正常,但当我下到自己的手机安装的时候,哎呀!

那界面真是惨不忍睹啊,有些控件正常显示,有些被缩得跟头发一样(夸张了点),反正界面都变形了

……可以是做为Android新手的我不知道啊,后来问过前辈才知道……我用了

android:layout_height="50px" ,用px来定大小的话很容易出错,因为它是根据像素来的,比如你画

160px的线在480*800像素的手机上就是1/3长,那么在320*480的手机上就是一半长了,如果这样的话,

就很尴尬了……但Android里有一个dip,用这个的话,在不同的设备会有不同的效果,我把它理解成是

根据比例来的(个人这样理解);就说我觉得比较容易理解的吧反正这样用没错啦:dip把手机统一假设

为是320*480像素的,1dip=1px,如果把宽设为160dip那么就是频幕宽的一半,不管是在320*480像素的,

还是480*800像素的等等,它都是频幕宽的一半,高也是这样啊。

可能你觉得我的废话比较多,但是看完一件事件的经过,会让你可以举一反三(也是在告诫我自己)。

更多相关文章

  1. Android(安卓)Studio安卓学习笔记(三)Android用户界面的设计布局
  2. Android(安卓)Studio基础之主界面及使用(三)-学习篇
  3. Android(安卓)模仿Path 的左右拉动菜单效果
  4. Android简易音乐播放器之界面实现(第一篇)
  5. Android自定义控件(一)——抽奖刮刮乐的实现
  6. Android(安卓)9.1 定制开机向导
  7. Android(安卓)PocketSphinx离线语音识别集成总结
  8. android中如何让一个不知道高度的控件正好恰在上下两个控件之中
  9. Android自定义标签列表控件LabelsView解析

随机推荐

  1. Android横竖屏加载不同布局的适配方案
  2. Android中shape的使用
  3. Android(安卓)统一View样式,textview样式
  4. android 环境配置
  5. MULTIPLE TARGETS FROM ONE ANDROID SOUR
  6. Handling Android(安卓)2.3 WebView's br
  7. Android设备如何保证数据同步写入磁盘
  8. android 细节之 旋转动画
  9. Android(安卓)2-10 RecyclerView
  10. Android(安卓)SQLite操作类--封装