练习:创建android GUI的视图,布局和按钮

时间:2012-02-09 16:10:22

标签: android user-interface view

好的,所以我对android非常不感兴趣但是开始了解它。在继续之前,我想询问一些使用API​​视图,列表和布局创建android GUI的一般反馈。为了练习,我将以GUI为例:

http://imgur.com/71NmI

假设我希望按钮(也许是“Something”)能够与RelativeLayout中的任何内容进行交互。一般而言,创建此类GUI的最佳实践是什么?您将使用哪些API元素来实现它?

[删除了不必要的问题]

任何评论,包括一般性和具体性,以及示例都非常感谢!

编辑:我已经浏览了您的导游@Mark Lapasa,感谢介绍基础知识。我建议的xml文件是这样的:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    xmlns:android="http://schemas.android.com/apk/res/android">


<ImageView android:id="@+id/header"
    android:layout_width="match_parent"
    android:background="@drawable/header" android:layout_height="30dp">
</ImageView>

<RelativeLayout android:id="@+id/leftLayout"
    android:layout_height="match_parent"
    android:layout_width="wrap_content"
    android:layout_alignParentLeft="true" android:layout_below="@id/header">

    <Button android:text="Left btn1"
        android:id="@+id/leftBtn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"/>

    <Button
        android:text="Left btn2"
        android:id="@+id/leftBtn2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/leftBtn1"/>

    <Button
        android:text="Left btn3"
        android:id="@+id/leftBtn3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/leftBtn2"/>  

</RelativeLayout>


<RelativeLayout android:id="@+id/rightLayout"
    android:layout_height="match_parent"
    android:layout_width="wrap_content"
    android:layout_alignParentRight="true" android:layout_below="@id/header">

    <Button android:text="Right btn1"
        android:id="@+id/rightBtn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true" android:layout_marginTop="5dp"/>

    <Button
        android:text="Right btn2"
        android:id="@+id/rightBtn2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/rightBtn1"/>

     <Button
        android:text="Right btn3"
        android:id="@+id/rightBtn3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/rightBtn2"/>
</RelativeLayout>

<ImageView android:id="@+id/footer"
    android:layout_width="match_parent"
    android:background="@drawable/footer" android:layout_height="20dp" android:layout_alignParentBottom="true">
</ImageView>

<RelativeLayout android:id="@+id/gameLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@id/footer"
    android:layout_below="@id/header"
    android:layout_toLeftOf="@id/rightLayout"
    android:layout_toRightOf="@id/leftLayout">
</RelativeLayout>

</RelativeLayout>

这很好用。但是,这不是最佳做法。我现在总共有四个RelativeLayouts可以使用。是否有一些平滑的解决方案来实现这一目标,而不使用不必要的系统资源和功能?另外,设置宽度和高度的最佳方法是如何使它们与设备无关?

2 个答案:

答案 0 :(得分:0)

看起来你是相对布局的新手。您可能想尝试我的可视教程,因为我有足够的时间使用文档:

Android相对布局的可视指南

http://knowledge.lapasa.net/?p=334

答案 1 :(得分:0)

我已经花了一些时间在这上面,并认为实现这些结果的最佳方法是使用fragments