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点点博客园博客,原文链接:http://www.cnblogs.com/coder2012/archive/2013/05/13/3075259.html,如需转载请自行联系原作者

相关文章
|
搜索推荐 Java Linux
Android基础入门教程
Android是一种基于Linux的自由及开放源代码的操作系统,Android 分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。
213 0
|
XML 存储 安全
Android四大组件全面解析,夯实基础。(下)
Android四大组件 lay a solid foundation 夯实基础
179 0
|
Java Android开发
移动应用程序设计基础——Android环境构建与Activity生命周期
安装智能手机开发相关软件平台,并在此基础上测试Activity的生命周期过程。 5、 完成智能手机开发平台安装、以及相关配置; 6、 并实现Hello World; 7、 添加Log日志,通过Log日志验证Ac 1、 安装JAVA JDK 2、 安装Android Studio,熟悉AS的基本操作,改变AS的字体,显示方式;截图和文字说明。 3、 建立新项目,实现Hello World。说明各个文件的作用,以及各个关键语句的作用或含义,给出程序的运行结果。 4、 设置生命周期的Log日志,分别执行相关操作
254 0
移动应用程序设计基础——Android环境构建与Activity生命周期
|
XML 存储 移动开发
Android基础 | 关于Activity你应该明白的一切
Activity 作为一个老生常谈的话题,它是我们刚接触Android开发就遇到,虽然已有一段时间开发经验,但谈起完全搞懂Activity相关,不敢妄言,故结合个人理解及书籍参考,简单总结一下 Activity基础相关知识,其中也留出了一些有意思的问题。
157 0
|
Android开发
Android四大组件全面解析,夯实基础。(中)
Android四大组件 lay a solid foundation 夯实基础
194 0
Android四大组件全面解析,夯实基础。(中)
|
存储 设计模式 前端开发
Android四大组件全面解析,夯实基础。(上)
Android四大组件 lay a solid foundation 夯实基础
116 0
|
安全 Java 调度
Android多线程编程——线程基础
Android沿用了Java的线程模型,一个Android应用在创建的时候会开启一个线程,我们叫它主线程或者UI线程。
212 0
Android多线程编程——线程基础
|
XML 存储 Java
Android动画基础详析 | 概述、逐帧动画、视图动画(附诸多实际运行效果动图)
Android动画基础详析 | 概述、逐帧动画、视图动画(附诸多实际运行效果动图)
|
API Android开发
Android动画基础详析 | 属性动画基础及ValueAnimator
Android动画基础详析 | 属性动画基础及ValueAnimator
|
安全 Android开发
Android | AsyncTask基础梳理
Android | AsyncTask基础梳理