做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像素的等等,它都是频幕宽的一半,高也是这样啊。
可能你觉得我的废话比较多,但是看完一件事件的经过,会让你可以举一反三(也是在告诫我自己)。
相关推荐
NULL 博文链接:https://sarin.iteye.com/blog/1757401
Android学习笔记之常用控件,详细介绍各个控件的使用以及源代码
Android学习笔记(二)android studio基本控件及布局(实现图片查看器) Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) Android学习笔记(四)Android 中Activity页面的...
android学习笔记之一常用控件
Android学习笔记 Android学习笔记 Android学习笔记
Android学习笔记
NULL 博文链接:https://sarin.iteye.com/blog/1754910
黑马66期android学习笔记14-电话拨号器定义布局&获取组件对象
android 学习笔记(全全整理),吧android学习笔记全部整理下来了,可以去好好学习学习
第一行代码 android学习笔记 修改完整版
这是我的安卓学习笔记。 开始时间:2016-9-11 计划:一个半月 文章目录: 基础知识 1、Android01--搭建Android开发环境 2、Android02--认识Activity 3、Android03--Context和Application 4、Android04--Android服务 ...
Android 开发学习笔记,学习android的好资料
android 学习笔记 android 学习笔记 android 学习笔记
自己整理的Android学习笔记 都是一些小细节,有用
NULL 博文链接:https://sarin.iteye.com/blog/1756874
NULL 博文链接:https://sarin.iteye.com/blog/1756332
2.Android学习笔记--控件&布局 3.android学习笔记--activity生命周期&handler使用 4.android学习笔记--HandlerThread和Bundle 5.android学习笔记--SQLite 6.android学习笔记--下载文件 7.android学习笔记--Content ...
Android开发学习笔记五大布局方式详解,线性布局,相对布局,帧布局,绝对布局,表格布局。。。。 。。。。。
学习java和android的笔记 更容易学习android 资深学习android 具有大量学习的笔记 很多的错误 都是从细节开始学习的