面试题(二)

Android常用控件的信息

  单选框(RadioButton与RadioGroup):

    RadioGroup用于对单选框进行分组,相同组内的单选框只有一个单选框被选中。

    事件:setOnCheckedChangeListener(),处理单选框被选择事件。把RadioGroup.OnCheckedChangeListener 实例作为参数传入。

  多选框(CheckBox):

    每个多选框都是独立的,可以通过迭代所有的多选框,然后根据其状态是否被选中再获取其值。

    事件:setOnCheckedChangeListener()处理多选框被选择事件。把CompoundButton.OnCheckedChangeListener 实例作为参数传入

  下拉列表框(Spring):

    Spinner.getItemAtPosition(Spinner.getSelectedItemPosition()); 获取下拉列表框的值。
事件: setOnItemSelectedListener(), 处理下拉列表框被选择事件把AdapterView.OnItemSelectedListener 实例作为参数传入;

  拖动条(SeekBar):

    SeekBar.getProgress() 获取拖动条当前值
事件 :setOnSeekBarChangeListener() ,处理拖动条值变化事件,把SeekBar.OnSeekBarChangeListener 实例作为参数传入。

  菜单(Menu):

     重写 Activity 的 onCreatOptionMenu(Menu menu) 方法,该方法用于创建选项菜单,咋用户按下手机的 “Menu” 按钮时就会显示创建好的菜单,在 onCreatOptionMenu(Menu Menu) 方法内部可以调用 Menu.add() 方法实现菜单的添加。

     重写 Activity 的 onMenuItemSelected() 方法,该方法用于处理菜单被选择事件。

  进度对话框(ProgessDialog):

    创建并显示一个进度对话框:ProgessDialog.show(ProgessDialogActivity.this,"请稍等","数据正在加载中...",true);

    设置对话框的风格:setProgessStyle()

    ProgessDialog.STYLE_SPINNER 旋转进度条风格(为默认风格)

    ProgessDialog.STYLE_HORIZONTAL 横向进度条风格

请介绍Android常用的五种布局

  在Android中,共有五种布局,分别是:FrameLayout(框架布局),LinearLayout(线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局)。

  1.FrameLayout

  2.LinearLayout

   线性布局,从外框上可以理解为一个div,他首先是一个一个从上往下罗列在屏幕上。每一个LinearLayout里面又可分为垂直布局(android:orientation="vertical")和水平布局(android:orientation="horizontal")。当垂直布局时,每一行只有一个元素,多个元素一次垂直往下;水平布局时,只有一行,每一个元素依次向右排列。

   linearLayout 中有一个重要的属性 android:layout_weight=”1″ ,这个 weight 在垂直布局时,代表行距;水平的时候代表列宽; weight 值越大就越大。

  3.AbsoluteLayout
绝对布局犹如 div 指定了 absolute 属性,用 X,Y 坐标来指定元素的位置 android:layout_x=”20px” android:layout_y=”12px” 这种布局方式也比较简单,但是在垂直随便切换时,往往会出问题,而且多个元素的时候,计算比较麻烦。

  4.RelativeLayout
相对布局可以理解为某一个元素为参照物,来定位的布局方式。主要属性有:
相对于某一个元素
android:layout_below=”@id/aaa” 该元素在 id 为 aaa 的下面
android:layout_toLeftOf=”@id/bbb” 改元素的左边是 bbb
相对于父元素的地方
android:layout_alignParentLeft=”true” 在父元素左对齐
android:layout_alignParentRight=”true” 在父元素右对齐
还可以指定边距等,具体详见 API

  5.TableLayout

    表格布局类似Html里面的Table。每一个TableLayout里面有表格行TableRow,TalbeRow里面可以具体定义每一个元素,设定他的对齐方式android:gravity=""。

以上每一个布局都有自己适合的方式,另外,这五个布局元素可以相互嵌套应用,做出美观的界面。

原文地址:https://www.cnblogs.com/dazuihou/p/3580849.html