1. 入坑安卓
最近楼主也入坑了安卓开发,看了一本叫《第一行代码》的书,是第2版的哈,从此会丰富我的博客(走上不归路),在这不定时分享一些安卓开发的技术和心得。
2. 创建一个按钮活动
创建项目,可以命名为ActivityTest -> 在res目录下创建layout文件夹并创建个布局文件first_layout
(其实此时已经创建了一个活动,启动应用可以看到是个只有项目名称的空项目)
->在first_layout.xml下修改成如下:
//主要是添加<Button>标签的内容,添加一个按钮
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button 1"
/>
LinearLayout>
注释:
(1)@+id/button_1表示定义一个id名为button_1,在对按钮操作的时候直接操作id名
(2)layout_width=”match_parent”:宽度和父元素一样
(3)layout_height=”wrap_content”:高度刚好能包括元素里面的内容
布局写好后,要在活动中加载它,在FirstActivity.java的OnCreate方法中加入代码如下:
setContentView(R.layout.first_layout);//给当前活动加载一个布局
之后,在AndroidMainifest文件中注册
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.linhualuo.activitytest">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".FirstActivity"
android:label="This is FirstActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
intent-filter>
activity>
application>
manifest>
这样,FirstActivity就成为我们这个程序的主活动了。点击运行可以出来个主界面。
3.在活动中使用Toast
Toast简单地理解就是安卓中一种常见的提醒方式,一般在屏幕下方给一条提醒,下面向按钮添加Toast事项,修改OnCreate方法:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
Button button1 = (Button) findViewById(R.id.button_1);
button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Toast.makeText(FirstActivity.this, "You clicked Button 1",
Toast.LENGTH_SHORT).show();
}
});
}
这段代码的主要功能是创建一个Button对象,并调用它的setOnClickListener方法来注册一个监听器,当用户点击按钮button1的时候变回触发onClick方法,显示相应的字符串。
其中,Toast显示提醒的一般调用格式为:
Toast.makeText("上下文","文本内容","显示时间长短")
//时间长短的内置常量:Toast.LENGTH_SHORT, Toast.LENGTH_LONG
4. 在活动中显示menu
在res目录下新建一个main文件夹,并在里面新建一个main.xml文件,写入:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/add_item"
android:title="Add" />
<item
android:id="@+id/remove_item"
android:title="Remove" />
menu>
创建两个菜单项目,item标签是用来创建具体一个菜单项的。
接下来在FirstActivity.java文件中添加两个方法:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.add_item:
Toast.makeText(this, "You clicked Add", Toast.LENGTH_SHORT).show();
break;
case R.id.remove_item:
Toast.makeText(this, "You clicked Remove", Toast.LENGTH_SHORT).show();
break;
default:
}
return true;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main,menu);
return true;
}
getMenuInflater()对象的inflate方法是用来创建菜单的,
然后switch语句对所点击的菜单项进行判断和响应。