Android开发_记事本(1)

科技资讯 投稿 6300 0 评论

Android开发_记事本(1)

一些知识

Textview

TextView中有下述几个属性:

  • id:为TextView设置一个组件id,根据id,我们可以在Java代码中通过findViewById(的方法获取到该对象,然后进行相关属性的设置,又或者使用RelativeLayout时,参考组件用的也是id!

  • layout_width:组件的宽度,一般写:wrap_content或者match_parent(fill_parent,前者是控件显示的内容多大,控件就多大,而后者会填满该控件所在的父容器;当然也可以设置成特定的大小,比如我这里为了显示效果,设置成了200dp。

  • layout_height:组件的高度,内容同上。

  • gravity:设置控件中内容的对齐方向,TextView中是文字,ImageView中是图片等等。

  • text:设置显示的文本内容,一般我们是把字符串写到string.xml文件中,然后通过@String/xxx取得对应的字符串内容的,这里为了方便我直接就写到""里,不建议这样写!

  • textColor:设置字体颜色,同上,通过colors.xml资源来引用,别直接这样写!

  • textStyle:设置字体风格,三个可选值:normal(无效果,bold(加粗,italic(斜体

  • textSize:字体大小,单位一般是用sp!

  • background:控件的背景颜色,可以理解为填充整个控件的颜色,可以是图片哦!

startActivityForResult

大致可以理解为获取Activity的结果

Intent

intent相当于一个信道,putExtra相当于向里面传送一个名为参数一,内容为参数二的信息,接收方通过参数一相同的名称来接受参数二内容

  • startActivity(Intent/startActivityForResult(Intent:来启动一个Activity

  • startService(Intent/bindService(Intent:来启动一个Service

  • sendBroadcast:发送广播到指定BroadcastReceiver

.显式Intent使用示例:

这个用得很多,直接就上例子了:

例子1:点击按钮返回Home界面: 运行效果图:

核心代码:

 Intent it = new Intent(;
 it.setAction(Intent.ACTION_MAIN;
 it.addCategory(Intent.CATEGORY_HOME;
 startActivity(it;

例子2:点击按钮打开百度页面: 运行效果图:

核心代码:

 Intent it = new Intent(;
 it.setAction(Intent.ACTION_VIEW;
 it.setData(Uri.parse("http://www.baidu.com";
 startActivity(it;

在记事本中应用

编辑页面当点击返回按钮的时候跳转到主页面

EditActivity:

 public boolean onKeyDown(int keyCode, KeyEvent event{
         if(keyCode == KeyEvent.KEYCODE_HOME{
             return true;
        }
         else if(keyCode == KeyEvent.KEYCODE_BACK{
             Intent intent = new Intent(;//只用来传输信息,不用来跳转
             intent.putExtra("input",et.getText(.toString(;
             setResult(RESULT_OK,intent;
             finish(;
             return true;
        }
         return super.onKeyDown(keyCode,event;
    }

MainActivity中:

 public void onClick(View view {
                 //测试btn
                 //Log.d(TAG,"onClick:click";
                 Intent intent = new Intent(MainActivity.this,EditActivity.class;//从参数一跳转到参数二
                 //启动活动并获取结果
                 startActivityForResult(intent,0;                                                         //启动参数这样的一个跳转
 ​
 ​
            }

开发过程

实现点击按钮界面的跳转

按钮:

跳转

先初始化按钮

 super.onCreate(savedInstanceState;
         setContentView(R.layout.activity_main;
         //floatingbutton初始化
         btn = ( FloatingActionButtonfindViewById(R.id.fab;
         tv = findViewById(R.id.tv;
 ​

之后用一个setOnClickListener函数实现跳转

 btn.setOnClickListener(new View.OnClickListener( {
             @Override
             public void onClick(View view {
                 //测试btn
                 //Log.d(TAG,"onClick:click";
                 Intent intent = new Intent(MainActivity.this,EditActivity.class;//从参数一跳转到参数二
                 //启动活动并获取结果
                 startActivityForResult(intent,0;                                                         //启动参数这样的一个跳转
            }
        };

接受Edit输入的结果

MainActivity中:

 //下面接受startActivityForResult结果
     @Override
     //通过上面的Intent跳转到Edit,并通过下面的函数来对Edit的内容进行接收
     protected void onActivityResult(int requestCode,int resultCode,Intent data{
         super.onActivityResult(requestCode,resultCode,data;
         String edit = data.getStringExtra("input";
         //Log.d(TAG,edit;
         tv.setText(edit;       //输出输入的内容到Main屏幕中
    }

EditActivity中:

  //可以背一下下面格式
     //功能:传回一个“input”的值来对应前面的getStringExtra
     public boolean onKeyDown(int keyCode, KeyEvent event{
         if(keyCode == KeyEvent.KEYCODE_HOME{
             return true;
        }
         else if(keyCode == KeyEvent.KEYCODE_BACK{
             Intent intent = new Intent(;//只用来传输信息,不用来跳转
             intent.putExtra("input",et.getText(.toString(;
             setResult(RESULT_OK,intent;
             finish(;
             return true;
        }
         return super.onKeyDown(keyCode,event;
    }

此时的完整代码:

MainActivity:

package com.example.note;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ListView;
import android.widget.TextView;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
public class MainActivity extends AppCompatActivity {
final String TAG = "tag";
FloatingActionButton btn; //后面再初始化
TextView tv;
//笔记本的核心:ListView
ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState {
super.onCreate(savedInstanceState;
setContentView(R.layout.activity_main;
//floatingbutton初始化
btn = ( FloatingActionButtonfindViewById(R.id.fab;
tv = findViewById(R.id.tv;
btn.setOnClickListener(new View.OnClickListener( {
@Override
public void onClick(View view {
//测试btn
//Log.d(TAG,"onClick:click";
Intent intent = new Intent(MainActivity.this,EditActivity.class;//从参数一跳转到参数二
//启动活动并获取结果
startActivityForResult(intent,0; //启动参数这样的一个跳转
}
};
}
//下面接受startActivityForResult结果
@Override
//通过上面的Intent跳转到Edit,并通过下面的函数来对Edit的内容进行接收
protected void onActivityResult(int requestCode,int resultCode,Intent data{
super.onActivityResult(requestCode,resultCode,data;
String edit = data.getStringExtra("input";
//Log.d(TAG,edit;
tv.setText(edit; //输出输入的内容到屏幕中
}
}

EditActivity:

package com.example.note;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.EditText;
import android.content.Intent;
import java.security.Key;
public class EditActivity extends AppCompatActivity{
//实例化一个et
EditText et;
@Override
protected void onCreate(Bundle savedInstanceState {
super.onCreate(savedInstanceState;
setContentView(R.layout.edit_layout;
//定位输入好的内容
et=findViewById(R.id.et;
}
//可以背一下下面格式
//功能:传回一个“input”的值来对应前面的getStringExtra
public boolean onKeyDown(int keyCode, KeyEvent event{
if(keyCode == KeyEvent.KEYCODE_HOME{
return true;
}
else if(keyCode == KeyEvent.KEYCODE_BACK{
Intent intent = new Intent(;//只用来传输信息,不用来跳转
intent.putExtra("input",et.getText(.toString(;
setResult(RESULT_OK,intent;
finish(;
return true;
}
return super.onKeyDown(keyCode,event;
}
}

效果

点击按钮会跳转到edit界面,输入内容后按返回键会将内容显示在MainActivity界面中

 

 

 

编程笔记 » Android开发_记事本(1)

赞同 (29) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽