`
littie1987
  • 浏览: 131301 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Android学习笔记01

 
阅读更多

    刚学习android,未免遗忘所以写点小笔记。

    1. android的布局是通过 setContentView(R.layout.main)加载的,其中main是android的默认布局文件,在res/layout/main.xml处,当然,我们可以书写自己的布局文件,起不同的名字,定义不同的布局策略(默认是线性布局)。

 

    2. Activity类有一个方法findViewById(" ")可以查找到布局文件中定义的试图组件,前提是已经给改视图定义了id。定义id的方法android:id="@+id/idname"。这样,android会自动在R.java文件中创建一个名叫id的静态内部类,然后定义一个属性idname。

 

    3. Button的点击事件名字叫:setOnClickListener。使用方法如下:

 

        Button user = (Button)this.findViewById(R.id.username);
        user.setOnClickListener(new View.OnClickListener(){})

 

 

    4. Toast的使用。

         (1):如果显示简单的文字就可以这么用Toast.makeText(getApplicationContext(), "Hello",         Toast.LENGTH_LONG).show();这个默认显示在下边靠中间的位置

         (2):如果想自定义显示位置,可以这么写:

 

Toast toast = Toast.makeText(getApplicationContext(), "Hello", Toast.LENGTH_LONG);
toast.setGravity(Gravity.AXIS_PULL_AFTER, 0, 0);
toast.show();

 

   setGravity的第一个参数表示显示位置,Gravity提供了很多可供选择的位置,后两个参数表示在X和Y轴的偏移量

 

    (3):自定义Toast。如果我们所显示的内容不仅仅不限于文字,假如还有图片的话,那我们就得自定义了

 

LayoutInflater inflater = FirstAndroidActivity.this.getLayoutInflater();
View layout = inflater.inflate(R.layout.customer,(ViewGroup) findViewById(R.id.llToast),true);
ImageView image = (ImageView) layout.findViewById(R.id.tvImageToast);
image.setImageResource(R.drawable.icon);
TextView title = (TextView) layout.findViewById(R.id.tvTitleToast);
title.setText("Attention");
TextView text = (TextView) layout.findViewById(R.id.tvTextToast);
text.setText("完全自定义Toast");
Toast tst = new Toast(FirstAndroidActivity.this.getApplicationContext());
tst.setView(layout);
tst.show();

   上面的代码虽然很多,但主要的就两句

   LayoutInflater inflater = FirstAndroidActivity.this.getLayoutInflater();
   View layout = inflater.inflate(R.layout.customer,(ViewGroup) findViewById(R.id.llToast),true);

   这两句的意思是先获得一个布局对象,然后向布局对象里添加一个布局。这个布局将专门给toast使用。tst.setView  (layout)就是表明该toast使用了该布局。

这两句之后的那一段代码是给TextView添加文字,和给ImageView添加图片,而这些完全可以在定义布局的时候直接给写上。由于这段代码我也是复制了别人的,所以我也原版粘贴出来,不过刚开始也把我吓了一跳。

 

 

为了使一组按钮或其他控件使用同一个点击事件,我们可以这么写代码:

        OnClickListener listener = new OnClickListener(){

			public void onClick(View v) {
				setTitle("I love"+((Button)v).getText());
			}
        };

        Button girl = (Button)this.findViewById(R.id.girl);
        girl.setOnClickListener(listener);

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics