Android学习笔记之界面控件大小dip及布局管理器嵌套使用



 做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像素的等等,它都是频幕宽的一半,高也是这样啊。

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

 

内容概要:本文围绕直流微电网中带有恒功率负载(CPL)的DC/DC升压转换器的稳定控制问题展开研究,提出了一种复合预设性能控制策略。首先,通过精确反馈线性化技术将非线性不确定的DC转换器系统转化为Brunovsky标准型,然后利用非线性扰动观测器评估负载功率的动态变化和输出电压的调节精度。基于反步设计方法,设计了具有预设性能的复合非线性控制器,确保输出电压跟踪误差始终在预定义误差范围内。文章还对比了多种DC/DC转换器控制技术如脉冲调整技术、反馈线性化、滑模控制(SMC)、主动阻尼法和基于无源性的控制,并分析了它们的优缺点。最后,通过数值仿真验证了所提控制器的有效性和优越性。 适合人群:从事电力电子、自动控制领域研究的学者和工程师,以及对先进控制算法感兴趣的研究生及以上学历人员。 使用场景及目标:①适用于需要精确控制输出电压并处理恒功率负载的应用场景;②旨在实现快速稳定的电压跟踪,同时保证系统的鲁棒性和抗干扰能力;③为DC微电网中的功率转换系统提供兼顾瞬态性能和稳态精度的解决方案。 其他说明:文中不仅提供了详细的理论推导和算法实现,还通过Python代码演示了控制策略的具体实现过程,便于读者理解和实践。此外,文章还讨论了不同控制方法的特点和适用范围,为实际工程项目提供了有价值的参考。
内容概要:该论文介绍了一种名为偏振敏感强度衍射断层扫描(PS-IDT)的新型无参考三维偏振敏感计算成像技术。PS-IDT通过多角度圆偏振光照射样品,利用矢量多层光束传播模型(MSBP)和梯度下降算法迭代重建样品的三维各向异性分布。该技术无需干涉参考光或机械扫描,能够处理多重散射样品,并通过强度测量实现3D成像。文中展示了对马铃薯淀粉颗粒和缓步类动物等样品的成功成像实验,并提供了Python代码实现,包括系统初始化、前向传播、多层传播、重建算法以及数字体模验证等模块。 适用人群:具备一定光学成像和编程基础的研究人员,尤其是从事生物医学成像、材料科学成像领域的科研工作者。 使用场景及目标:①研究复杂散射样品(如生物组织、复合材料)的三维各向异性结构;②开发新型偏振敏感成像系统,提高成像分辨率和对比度;③验证和优化计算成像算法,应用于实际样品的高精度成像。 其他说明:PS-IDT技术相比传统偏振成像方法具有明显优势,如无需干涉装置、无需机械扫描、可处理多重散射等。然而,该技术也面临计算复杂度高、需要多角度数据采集等挑战。文中还提出了改进方向,如采用更高数值孔径(NA)物镜、引入深度学习超分辨率技术等,以进一步提升成像质量和效率。此外,文中提供的Python代码框架为研究人员提供了实用的工具,便于理解和应用该技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值