Android中的用户界面设计
我想以编程方式设计布局,这意味着不需要根据项目要求使用xml文件。 但是编程使用的术语与xml文件完全不同。它们是任何有用的教程,以编程方式学习,这意味着没有xml文件。引导我!Android中的用户界面设计
您可以创建任何视图你想
-
线性布局
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
-
文本视图
final TextView tv = new TextView(this); tv.setBackgroundColor(0xFFFF00FF); tv.setTextColor(0xFF000000); tv.setTypeface(null, Typeface.BOLD); tv.setText("Where is Fred?"); tv.setGravity(Gravity.CENTER_HORIZONTAL);
和别的。
非常感谢你! – sivanesan1 2012-07-10 10:49:19
我有另一个小的查询,,对于文本颜色,设置背景颜色你提到像0xFFFF00FF。这种颜色的格式是什么(十六进制格式),这种格式有多少种颜色可供选择,以及如何找到所有颜色代码,如0xFF000000 – sivanesan1 2012-07-10 10:54:00
请参考维基页面 - http://en.wikipedia.org/wiki/Hexadecimal_color – 2012-07-10 10:58:22
我建议你花一些时间来学习的View
类及其流行子类,如LinearLayout
,RelativeLayout
,等等。 (另外,花一点时间看Drawables
。)
当你使用XML创建一个布局时,你使用XML来定义一个层次为View
的对象,它在运行时被“充气”成一个real层次结构View
XML布局文件描述的对象。例如,您的第一个XML布局文件可能是一个简单的LinearLayout
包含TextView
(注意,我简化它简洁):
<LinearLayout ... >
<TextView ... />
</LinearLayout>
在你Activity
你可以使用使用setContentView()
此布局。
所有这些XML文件做的是提供规范,如果你喜欢,关于该系统需要建立(或膨胀)为您的View
结构。最终的结果是,将会有一个真实的LinearLayout
对象(它是View
的子类),它具有子对象TextView
(同样是View
的子类)以及合适的布局参数。
上面做编程,你可能会做这样的事情(再次简化)(通过创建对象的实例,并使用他们的方法,而不是从XML充气IE):
LinearLayout container = new LinearLayout(this);
TextView tv = new TextView(this);
tv.setText("hello");
container.addChild(tv); // Simple example - usually you'd specify layout parameters
setContentView(container);
最基本的一点,我使用非常简单的术语来说,布局XML文件可以被认为是一种'脚本',您可以用它来告诉系统如何创建Views
的层次结构。通过编程创建View
对象实例并在其上调用适当的方法,可以创建完全相同的结果。无论采用哪条路线,最终结果都是一样的:内存中的一堆代表View层次结构的对象。
您会发现XML布局属性名称不一定与相应的方法名称相同,但可以使用相关API文档查看给定方法的相应XML属性字符串。例如,LinearLayout
的API文档详细介绍了所有的方法以及XML属性。
尝试在google中搜索[如何以编程方式创建布局](http://www.google.com/search?q=android+create+layout+programatically&ie=utf-8&oe=utf-8&aq=t) – Praveenkumar 2012-07-10 10:26:06
我试过了,但它没有完整的指导, – sivanesan1 2012-07-10 10:29:48
更具体,你在找什么。如你所见,那里有很多教程。 – Ran 2012-07-10 10:31:00