我是Android新手,希望按照以下方式进行布局:
我尝试了各种布局方式
所以,有人请说明这是实现我需要的最佳方式吗?
答案 0 :(得分:2)
没有人能真正告诉你什么是最好的,这取决于你想要什么,但我会建议使用RelatvieLayout,因为它们通常是最简单,最有效的,一旦你使用它们,在我看来。您可以阅读Here以了解如何执行矩形。您基本上将使用shape drawable
并调整radius
的{{1}}。
就顶部的徽标而言,如果它会在其他corners
中重复使用,那么您可以将其置于自己的布局中并使用布局中的include标记重复使用徽标布局
如果您担心屏幕尺寸不同,请阅读Docs并找到适合您的屏幕。 刚开始,随时调整。不要害怕搞砸并重做一些。希望这是足以让您入门的信息
使用Activity
可以为您提供更大的灵活性,并允许您使用较少的RelativeLayout
,例如嵌套Layouts
和LinearLayout
,只有一个孩子可以提高效果
答案 1 :(得分:2)
这是应该怎么做的: 从垂直方向的线性布局开始:
<linearLayourt xmlns=............
android:orientation="vertical"
.....other stuffs goes here
......
.....
<LinearLayout ......this is the child linearlayout
.....other stuffs goes here like width and height
<ImageView ...this is where you are gonna put your logo in
/>
</LinearLayout> ....close your child linear layout
<RelativeLayout ...
.........other stuffs here
<EditText ....1st edit text
...you position your boxes here
/>
<EditText ....2nd edit text
...you position your boxes here
/>
</RelativeLayout>
<TextView
....
...
...put yout hyperlink for this text
/>
</LinearLayout> ...this is the parent linear layout
答案 2 :(得分:0)
对于创建登录屏幕的情况,它并不重要,因为它是一个相对简单的设计屏幕。我个人喜欢使用XML来设计我的布局,并且从未使用onDraw
方法完成它。
我对@codeMagic的建议是学习如何使用和操作RelativeLayouts
,因为这会阻止您创建真正不推荐的级联布局,并且需要很长时间才能加载。
当我开始针对Android进行编程时,我发现LinearLayout
是最容易理解和使用的,但使用它会在复杂的屏幕设计中将LinearLayouts
带到LinearLayouts
内,后来使用RelativeLayout,我意识到在大多数情况下,一个RelativeLayout
可以替换许多级联线性的。{/ p>
在你的情况下,你可以做一些这样的事情:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:src="@drawable/drop_down_icon" />
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/imageView1" >
</EditText>
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/editText1" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editText2"
android:layout_centerHorizontal="true"
android:text="Button" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button1"
android:layout_centerHorizontal="true"
android:text="TextView" />
</RelativeLayout>
剩下的就是添加所需的填充和边距。