Android学习笔记(二)基础知识(1)

简介:

更改文字颜色


文字色:

TextView.setTextColor(Color.***);

背景色:

Resources resources = getBaseContext().getResources();
Drawable HippoDrawable = resources.getDrawable(R.drawable.white);
TextView.setBackgroundDrawable(HippoDrawable);

 

获取手机分辨率


复制代码
import android.util.DisplayMetrics

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);

String x,y;
x=dm.widthPixels;
y=dm.heightPixels;
复制代码

 

页面转换


  在Android应用中,是通过setContentView来实现页面的转换处理的,也就是在不同的layout之间进行切换。

setContentView(R.layout.****);

例子:

复制代码
package com.example.test4;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.support.v4.app.NavUtils;

public class MainActivity extends Activity {
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        Button b1=(Button)findViewById(R.id.button1);
        b1.setOnClickListener(new Button.OnClickListener() {
            
            public void onClick(View v) {
                // TODO Auto-generated method stub
                jumpToMylayout();
            }
        });
        
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
    
    public void jumpToMylayout(){
        setContentView(R.layout.mylayout);
        
        Button b2 = (Button)findViewById(R.id.button1);
        b2.setOnClickListener(new Button.OnClickListener() {
            
            public void onClick(View v) {
                // TODO Auto-generated method stub
                jumpToLayout();
                
            }
        });
    }
    
    public void jumpToLayout(){
        setContentView(R.layout.activity_main);
        
        Button b1=(Button)findViewById(R.id.button1);
        b1.setOnClickListener(new Button.OnClickListener() {
            
            public void onClick(View v) {
                // TODO Auto-generated method stub
                jumpToMylayout();
            }
        });
    }
}
复制代码

 

调用其他Activity


 

  与上面在不同layout之间转换不同,这里我们需要移交主权到另外一个Activity。

复制代码
//一个Activity
Intent intent=new Intent();
intent.setClass(MainActivity.this,replace.class); startActivity(intent); MainActivity.this.finish(); //另外一个Activity Intent intent=new Intent(); intent.setClass(replace.this, MainActivity.class); startActivity(intent); replace.this.finish();
复制代码

 

不同Activity之间的数据转换


 利用Android.os.Bundle对象封装数据的能力,将欲传递的数据或参数,通过Bundle来传递不同Intent之间的数据。

发送:

复制代码
Intent intent=new Intent();
intent.setClass(MainActivity.this,display.class);
                
Bundle bundle = new Bundle();
bundle.putString("num",et1.getText().toString());
bundle.putString("name",et2.getText().toString());
                
intent.putExtras(bundle);
                
startActivity(intent);
复制代码

接收:

Bundle bundle = this.getIntent().getExtras();
String num = bundle.getString("num");
String name = bundle.getString("name");

 

 返回数据到前一个Activity


 

 唤起一个Activity:

  startActivityForResult(intent,0)

 重载onActivityResult:

  protected void onActivityResult(int requestCode,int resultCode,Intent data){
switch(resultCode){

 

    case RESULT_OK:    

      Bundle bundle=data.getExtras();
//code there
break;
default:
break;

    }

  }

 返回数据:

  input.this.setResult(RESULT_OK, intent);

部分代码:

复制代码
//main_activity
package com.example.test7;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.support.v4.app.NavUtils;

public class MainActivity extends Activity {

    TextView tx;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        Button bt=(Button)findViewById(R.id.button1);
        tx=(TextView)findViewById(R.id.textView1);
        
        bt.setOnClickListener(new Button.OnClickListener() {
            
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent intent = new Intent();
                intent.setClass(MainActivity.this, input.class);
                
                startActivityForResult(intent,0);
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

    @Override
    protected void onActivityResult(int requestCode,int resultCode,Intent data){
        switch(resultCode){
        case RESULT_OK:
            Bundle bundle=data.getExtras();
            String str=bundle.getString("str").toString();
            tx.setText(str);
            break;
        default:
            break;
        }
    }
    
}
复制代码
复制代码
/**
 * input.java
 */
package com.example.test7;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;


public class input extends Activity {
    
    Intent intent;
    Bundle bundle;

    EditText et;
    
     @Override
     public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.input);
          
          Button bt=(Button)findViewById(R.id.button1);
          et=(EditText)findViewById(R.id.editText1);
          
          intent = this.getIntent();
          bundle= new Bundle();
          
          bt.setOnClickListener(new Button.OnClickListener() {
            
            public void onClick(View v) {
                // TODO Auto-generated method stub
                bundle.putString("str", et.getText().toString());
                intent.putExtras(bundle);
                input.this.setResult(RESULT_OK, intent);
                input.this.finish();
            }
        });
     }
}
复制代码

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

知识共享许可协议
本文 由 cococo点点 创作,采用 知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆 许可协议进行许可。欢迎转载,请注明出处:
转载自:cococo点点 http://www.cnblogs.com/coder2012

相关文章
|
29天前
|
Android开发
Android基础知识:请解释Service是什么,它与IntentService的区别是什么?
Android基础知识:请解释Service是什么,它与IntentService的区别是什么?
52 0
|
29天前
|
Android开发 开发者
Android基础知识:什么是Intent?有哪些类型的Intent?
Android基础知识:什么是Intent?有哪些类型的Intent?
101 0
|
29天前
|
数据库 Android开发 开发者
Android基础知识:请解释Activity的生命周期。
Android基础知识:请解释Activity的生命周期。
52 2
|
29天前
|
Java Linux Android开发
Android基础知识:解释什么是Android(安卓)操作系统?
Android基础知识:解释什么是Android(安卓)操作系统?
178 0
|
29天前
|
Java Shell Linux
Android——编译(一):编译make的基础知识
Android——编译(一):编译make的基础知识
76 0
|
26天前
|
架构师 网络协议 算法
Android高级架构师整理面试经历发现?(大厂面经+学习笔记(1)
Android高级架构师整理面试经历发现?(大厂面经+学习笔记(1)
|
27天前
|
消息中间件 缓存 架构师
2024年阿里Android高级面试题分享,附学习笔记+面试整理+进阶书籍
2024年阿里Android高级面试题分享,附学习笔记+面试整理+进阶书籍
|
29天前
|
Android开发
Android基础知识:什么是Fragment?与Activity的区别是什么?
Android基础知识:什么是Fragment?与Activity的区别是什么?
468 54
|
29天前
|
数据库 Android开发 开发者
Android基础知识:什么是Android应用的四大组件?
Android基础知识:什么是Android应用的四大组件?
85 1
|
29天前
|
Java 开发工具 Android开发
[Android]JNI的基础知识
[Android]JNI的基础知识
67 0
[Android]JNI的基础知识