2013-03-09 81 views
0

我是新来的Android,并希望做如下布局:选择最佳Android布局

  1. 在顶部的标志。
  2. 与圆角
  3. 在该矩形的Rectangle下面,我将有用户ID和口令在两个的EditText框,再加上一个登录按钮
  4. 下面带圆角的矩形(外)我有一个HTML链接对条款&条件

我已经试过布局的各种方式进行

  1. 仅使用布局。不同种类的布局。所有似乎都很难实现我所需要的
  2. 使用布局+背景。背景不是真正的背景,但更像是一个模板,它会影响你的布局,并且很难控制你想要控制的位置。
  3. 使用onDraw。灵活,但担心它可能有不同的屏幕尺寸的问题。

那么,有人请说明哪个是最好的方法来实现我所需要的?

+0

使用XML,我认为使用垂直线性布局作为主视图,并将徽标嵌入第一行,并在第二行嵌入相对布局,以便您可以制作所需内容。当然,你可以为圆角矩形制作自己的资产,我相信 – adarsh 2013-03-10 00:07:55

回答

2

没有人能真正告诉你什么是最好的,它取决于你想要的东西,但我建议使用RelatvieLayout,因为它们通常是最简单和最有效的使用,一旦你使用它们一点,在我看来。你可以阅读Here看看如何做矩形。您基本上会使用shape drawable并调整cornersradius

至于顶部的标志,它是否会在其他Activity s内重复使用,那么你可以把它放在自己的布局和使用include标签在你的布局重用标识布局

如果你是担心不同的屏幕尺寸,然后阅读Docs并找到适合您的东西。 刚开始并随时调整。不要害怕搞砸和重做一些。希望这是足够的信息,让你开始

使用RelativeLayout会给你更多的灵活性,并允许您使用更少的Layouts如嵌套LinearLayout S和Layout s的只有一个孩子可以提高性能

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 
+1

谢谢。有用。很遗憾,我无法按下投票按钮。 – 2013-03-10 01:21:36

+0

如果你可以标记为一个很好的正确答案。谢谢 – Peshal 2013-03-10 02:38:57

0

,为您在屏幕上创建一个登录的情况下,它不是真正的问题,因为它是一个相对容易的屏幕设计。我个人喜欢使用XML来设计我的布局,并且从来没有见过使用onDraw方法完成。

作为@codeMagic的我给你的建议是学习如何使用和操作RelativeLayouts,因为这些将阻止你创建真正不被推荐并且需要很长时间加载的级联布局。

当我开始为Android编程,我发现LinearLayout是最容易理解和使用,但使用它会给我带来很多LinearLayouts一个LinearLayouts内部复杂的屏幕designz,后来随着使用的RelativeLayout的我意识到,在大多数情况下一个RelativeLayout可以取代许多级联线性。

你的情况,你可以做一些事情这样的:

<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> 

所有东西剩下的只是添加所需padings和利润。