当前位置: 首页 > 面试题库 >

Android中的动态布局与XML布局?

屠和洽
2023-03-14
问题内容

我是Android开发的新手,已经开始创建自己的UI。我看到您可以动态创建它,如下所示(Dynamic
Layouts
):

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ScrollView sv = new ScrollView(this);
    LinearLayout ll = new LinearLayout(this);
    ll.setOrientation(LinearLayout.VERTICAL);
    sv.addView(ll);
    TextView tv = new TextView(this);
    tv.setText("Name");
    ll.addView(tv);
    EditText et = new EditText(this);
    ll.addView(et);
    Button b = new Button(this);
    b.setText("Ok");
    ll.addView(b);
}

但我也看到netbeans有一个文件 Resources- > layout->
main.xml
。因此,您可以为UI创建XML布局(声明XML布局):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="Hello World, AndroidTest"
    />
</LinearLayout>

所以我的问题是应该使用哪个?在Android开发中,对动态布局和XML布局有何建议和优缺点?


问题答案:

使用布局XML资源文件。

首先,资源集(例如res/layout- land/除了之外res/layout/)允许您定义要在不同情况下使用的多个UI,系统会根据需要自动选择合适的UI。Java中的等效项是一组讨厌的ifor
switch语句。

其次,有些工具可以帮助您成功创建那些布局资源。即使Eclipse的拖放式GUI构建不是您需要的(例如,您正在使用NetBeans),Lint也会帮助指出布局中的缺陷,为此,它只会指出布局中的一个子集。等效的Java代码。

第三,它往往更简洁,因此,如果您手动键入这些内容,则XML的键入将更少。

第四,您将发现所有示例代码中的约98%将使用布局XML文件,而您在StackOverflow(和其他支持资源)上在此处找到的所有UI答案中约有98%将假定您使用了布局XML文件。尽管您可以自由地避免使用XML(也许您还是个小孩子就受到尖括号的攻击),但您将游刃有余,与大多数Android开发人员相比,正在与时俱进。



 类似资料:
  • 我试图使用相对布局与一个扩展视图的自定义类,和几个按钮。这就是我最终希望它看起来的样子: http://imgur.com/b5mtdj7 null 编辑:这是“vs programmatic”的原因是,我认为重写measure不会是一个糟糕的口号,但我不知道这将如何与XML交互。我宁愿布局定义也在一个地方。 我的XML如下所示:

  • 问题内容: 如何从此布局xml中获取元素myButton 并将其放在我选择的布局中(通过代码)? 解决方案(thx aromero) 问题答案:

  • 问题内容: 我在XML中定义了以下布局: 如何使用LayoutInflater来获取ListView和ProgressBar并在代码中分配它? 问题答案: 通过这种方式:

  • 本文向大家介绍Android动态添加设置布局与控件的方法,包括了Android动态添加设置布局与控件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android动态添加设置布局与控件的方法。分享给大家供大家参考,具体如下: 有时候我们会在代码端,动态的设置,添加布局和控件。下面我们就看来看一下如何处理,直接上代码,代码里面的注解很清楚了。 布局文件:fragment_hot.xml

  • 我试图得到一个布局就像下面的图像为一个游戏在android studio 当前我的xml是 我想在下一个级别增加更多的卡(如lvl 2)我需要为每个级别做几个布局吗?

  • 本文向大家介绍Android 布局文件Layout XML属性,包括了Android 布局文件Layout XML属性的使用技巧和注意事项,需要的朋友参考一下 Layout对于迅速的搭建界面和提高界面在不同分辨率的屏幕上的适应性具有很大的作用。这里简要介绍Android的Layout和研究 一下它的实现。 Android有Layout:FrameLayout,LinearLayout,TableL