Android移动应用开发 控件

  1. 根据按钮上显示的内容,按钮可以分为几种?分别用什么属性设置?

答:有文本的,用text属性进行设置,有图标的,用ImageButton标签,属性为src、既有文本又有图标的,用text属性设置文本,drawablexxx设置图片

  1. 按钮的onClick属性有什么用?怎么用?它的值所指定的响应方法在哪里定义,有什么特殊要求?方法的参数是什么?

答:onClick属性设置按钮的单击响应方法,它所指定的响应方法在它所在的布局对应的activity中进行定义;该响应方法必须满足下面的要求:

    必须是public

    返回void

    有一个唯一的View参数

  1. 还可以怎么设置按钮的监听方法?代码模板是什么?望大家理解该模板

答:还可以在程序中使用事件监听的方式,这种方式要求你要实例化一个Button对象,再创建一个View.OnClickListener对象,并把该对象作为实参传递给Button的setOnClickListener(View.OnClickListener),如下:

Button button = (Button) findViewById(R.id.button_send);

button.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {

        // Do something in response to button click

    }

});

  1. 如何定义按钮的样式?

答:可以通过设置整个app的主题来按钮的样式,还可以设置style属性来制定按钮的样式

  1. 如何定义无边框按钮?

答:定义属性style="?android:attr/borderlessButtonStyle"

  1. 如何定制背景?

答:在一个XML文件中定义三种不同的图片或者颜色对应不同的按钮状态:

1.     创建三个不同的位图图片,代表default、pressed和focused这三种状态,为保证你的图片适应不同的大小,该图片应设计为Nine-patch图片

2.     把这些图片放在res/drawable/这个工程目录中,确保每个图片的名字反映按钮的状态,比如button_default.9.png、button_pressed.9.png,、 button_focused.9.png

3.   在res/drawable/目录中创建一个新的XML文件(名字诸如button_custom.xml之类),把下面的XML插入文件中:

<?xml version=”1.0” encoding=”utf-8”?>

<selector xmlns:android=”http://schemas.android.com/apk/res/android”>

    <item android:drawable=”@drawable/button_pressed”

          android:state_pressed=”true” />

    <item android:drawable=”@drawable/button_focused”

          android:state_focused=”true” />

    <item android:drawable=”@drawable/button_default” />

</selector>

这里定义了一个drawable资源,会根据按钮的不同状态应用不同的图片:

    第一个<item>定义了当按钮按下时的位图

    第二个<item>定义了当按钮获得焦点时的位图

    第三个<item>定义了当按钮处于default状态时的位图(既不是按下,也不是获得焦点)

注意:<item>的顺序非常重要,当这个drawable资源被引用的时候,<item>元素按顺序对应到当前的按钮状态。因为default位图在最后,只有当android:state_pressed 和 android:state_focused 均为false时才会应用。

这个XML文件表示一个drawable资源,当某个按钮引用它作为背景的时候,会根据它的状态显示不同的图片

我们只需要在XML文件中修改button的背景即可:

<Button

    android:id="@+id/button_send"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:text="@string/button_send"

    android:onClick="sendMessage"

    android:background="@drawable/button_custom"  />

  1. 什么是ninepatch图片,该图片中的四条线分别表示什么意义?它的名字怎么命名?相应的xml什么用?里面的子标签什么含义?

答:一个NinePatchDrawable图片是一个可以拉伸的位图图像,Android可以自动根据view中的内容适应其大小。在图片的顶部及左边绘制上一像素宽的黑色线,表示可伸缩的范围,边框的其余部分为白色或者透明。在图片的右边及下边划一条线来定义一个可选的drawable区域(实际上就是padding线)。文件名的后缀必须是.9.png。其余解答见6.

  1. 怎么设置按钮的“.9”背景图片?

答: 将.9图片放置在drawable目录下,设置按钮的background属性

  1. 如何使用android sdk中的制作.9文件的工具?如果不设置padding线,那内容到边之间的padding怎么确定,实验一下?

答:在android的sdk中的tools目录下找到draw9patch,启动它,然后拖动8个角线进行.9区域的设置,根据文档说明,没有设置padding线,则左边及上边的线兼具padding线的作用

  1. 如何在studio中显示代码的行号?学会看错误提示信息,这很重要。

答:在代码区的左边右击,在弹出的菜单中选中“Show Line Numbers”

  1. 输入文本框的标签是什么?

答:EditText

  1. 如何指定输入文本框的类型?如何组合输入模式?

答:设置InputType属性,该属性的值可以通过“|”进行组合

  1. 标签属性的值是不是可以通过java代码进行修改?

答:可以

  1. landscape和portrait什么区别?如何在虚拟机上切换?

答:landscape为水平显示,portrait为垂直显示

  1. 如何设置虚拟机的物理键盘或虚拟键盘?

答:见教学视频

  1. 什么是输入键盘的action?默认值是什么?如何设置该action?如何监听该动作(监听模板代码)?

答:在用户输入完成后的动作,如果你没有显式的指定输入的action的话,系统会查看是否有设置了android:focusable的域(不一定是文本框),如果有,系统会执行本文本框的actionNext动作,这样用户可以进行下一个域的输入;如果没有,系统会执行文本框的actionDone动作。如果你使用imeOption属性指定了键盘的动作,你可以监听该动作事件。方法是实现TextView.OnEditorActionListener接口中的回调方法,向该方法传递actionID值来区分动作类型,如下:

EditText editText = (EditText) findViewById(R.id.search);

editText.setOnEditorActionListener(new OnEditorActionListener() {

    @Override

    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {

        boolean handled = false;

        if (actionId == EditorInfo.IME_ACTION_SEND) {

            sendMessage();

            handled = true;

        }

        return handled;

    }

});

  1. 如何添加其他的键盘flag与提供自动补全?如何在strings.xml中定义字符数组资源?

答:见文档

  1. 如何在java代码中获取字符数组资源从而进行操作?理解代码模板

答:String[] countries = getResources().getStringArray(R.array.countries_array);参数R.array.countries_array表示strings.xml中定义的字符串数组

  1. 什么是复选框?在布局文件中是哪个标签?

答:复选框是能同其他复选框同时选中的控件,它的标签为CheckBox

  1. 复选框后的文字怎么加上?

答:使用text属性

  1. 如何设置复选框的单击事件处理方法?若干复选框可以用同一个事件处理方法进行处理吗?如何在方法中区分选择的是哪个复选框?

答:设置onClick属性设置单击事件,可以使用同一个事件处理方法,在方法中通过调用view.getId方法对选中的复选框进行区别。

  1. 如何修改activity的布局?一个activity同时可以有几个布局?

答:调用setContentView(R.layout.activity_main);一个activity同时只能有一个布局有效

  1. 什么是无线按钮?在布局文件中是哪个标签?为什么要把这种标签放在RadioGroup中?RadioGroup是哪个布局的子类,这意味着什么?如何设置无线按钮的默认选择?

答:即是单选按钮,是RadioButton标签,必须将若干个单选按钮放在RadioGroup中组成单选按钮组,RadioGroup是LinearLayout的子类,这意味着它实际上是线性布局的,我们设置RadioButton的checked属性为true可以将该单选按钮设为默认选择。

  1. 如何设置无线按钮的单击事件处理方法?

答:设置无线按钮的onClick属性到某个事件处理方法

  1. 什么是切换按钮?是哪些标签?如何在java程序中改变按钮的状态?如何响应用户对按钮的操作?(代码模板)

答:切换按钮可以使得用户可以在两种状态中切换。有ToggleButton和Switch两种。需要在程序中改变按钮的状态,可以使用CompoundButton.setChecked() 或者 CompoundButton.toggle()方法。为响应用户对按钮的操作,创建一个CompoundButton.OnCheckedChangeListener 对象,并调用setOnCheckedChangeListener()把它和按钮联系起来,例如:

ToggleButton toggle = (ToggleButton) findViewById(R.id.togglebutton);

toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

        if (isChecked) {

            // The toggle is enabled

        } else {

            // The toggle is disabled

        }

    }

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 移动开发是指开发运行在 Android 操作系统上的移动应用程序。以下是 Android 移动开发的基础知识: 1. Java 编程语言:Android 开发主要使用 Java 编程语言进行开发,因此需要掌握 Java 编程语言的基础知识。 2. Android Studio:Android Studio 是 Android 官方推荐的开发工具,提供了强大的开发环境和功能,包括代码编辑器、调试器、构建工具等。 3. Android SDK:Android SDK(Software Development Kit)是 Android 开发的核心工具包,包含了 Android 开发所需要的 API 文档、模拟器、调试工具等。 4. Android 应用架构:Android 应用架构是指 Android 应用程序的组成结构,包括活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)等。 5. Android UI 开发:Android 应用程序的用户界面是通过布局文件和 Java 代码来实现的,需要掌握 Android 的 UI 开发技术,如布局、控件、样式和主题等。 6. 数据存储和访问:在 Android 应用程序中,数据的存储和访问至关重要,需要掌握 SQLite 数据库和 SharedPreferences 等数据存储和访问技术。 7. 网络编程:Android 应用程序通常需要与服务器进行通信,需要掌握网络编程技术,如 HTTP、TCP/IP 和 WebSocket 等协议。 8. Android 设备和系统版本:Android 设备的硬件和软件环境各不相同,需要了解不同设备和系统版本的特点和限制,以便在开发过程中做出相应的调整和优化。 以上是 Android 移动开发的基础知识,掌握这些知识可以帮助你快速入门 Android 移动开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值