美文网首页
边做iOS边学Android(二):认识几个常用的控件

边做iOS边学Android(二):认识几个常用的控件

作者: 幂琪有天 | 来源:发表于2016-10-27 11:28 被阅读171次

<a href="http://www.jianshu.com/p/866e5b20c02d">边做iOS边学Android(一):新建一个project</a>
趁着这几天进度不赶,把学了几天的笔记整理整理。过个几天可能要抽空学然后抽空写,会比较慢。
对了,昨天找朋友拿了本郭霖大大写的《第一行代码Android》,跟现在差的时间比较长,我也没更多精力去换(主要是懒+抠门)。相信有个基本的教程再加上自己Google+Baidu,入门应该基本没问题

上次建了一个工程感受了下,这次就多创建几个控件。不着急慢慢来,东西看上去多,写起来分分钟的事情

首先可以点左上角这边的小齿轮,勾上Autoscroll to Source,这样点选文件的时候不用双击=。=不过每次新建工程都要勾,不知道有没有可以一劳永逸的办法,知道的大爷透露下啊。


two_scroll_to_source.jpeg

回顾:
昨天就只是创建了一个Activity,主要的就是以下几个:

  • a. java代码里创建的Activity要有一个layout与它对应
  • b. 在Activity里,通过setContentView(R.layout.layoutName)可以加载这个布局,否则啥都看不到
  • c.对于主Activity (相当于window的rootViewController)要在manifest里注册<intent-filter>
  • d. src是资源文件夹,里面的文件引用(用strings为例):
    • 在xml里用@stirngs/yourName引用,
    • 在java代码里用getResource().getString(R.string.yourName)
  • 控件要有id,这样才可以在Activity里拿到它

开始:

  • 1.新建一个工程,就叫UIWidget,这一次创建的时候就让它加一个empty的Activity,我们也阔以看看跟上次自己建的有啥区别。

  • 2.首先说一下Android里字体单位是sp,长度单位是dp。因为安卓手机相同尺寸屏幕的分辨率天差地别,如果用px作单位,那么控件的大小显示出来不一样。而dp根据像素密度去计算出相应的像素数然后显示。

    • 2.1 假如一台手机屏幕的尺寸是1.5英寸x2英寸,屏幕分辨率为240x320,那么每英寸包含的像素点的数量为240/1.5=160dpi(横向)或320/2=160dpi(纵向)
    • 2.2 按照公式 px = dp * (api/160)就得出最终的像素数啦。
    • 2.3 在工程列表里一定看到mipmap-hdpi/mdpi/xhdpi/xxhdpi/xxxhdpi,系统会根据各种像素密度的手机从里面加载对应的图片。具体怎么裁图片后面用到了再说
  • 3.建几个常用的控件。

    • 3.1 建一个Button。这几个属性没什么好说的。包括怎么引用按钮的标题和文本颜色,至于按钮的其他属性大伙自己试。
<Button android:layout_width="match_parent"
            android:layout_height="wrap_content"              
            android:id="@+id/button"    
            android:text="@string/button_title"
            android:textSize="24sp"    
            android:textColor="@color/button_title_color"/>
  • 3.2 学个常用的Toast(在iOS里之前还经常用MBProgressHUD)。这里有3个参数,第一个是上下文,一般就是Activity啦,第二个是提示的文字,可以在strings里定义,也可以直接写,最后一个是这个提示存活的时间,LENGTH_SHORT(2s) 或者 LENGTH_LONG(3.5s)
Toast.makeText(MainActivity.this,"提示文字",Toast.LENGTH_SHORT).show();
  • 3.2 在Activity就可以这么用。用findViewById(R.id.id的name)获取到view,需要转一下类型,然后添加一个点击的监听
Button btn = (Button)findViewById(R.id.button);
btn.setOnClickListener(new View.OnClickListener() {    
@Override    
public void onClick(View v) {
            Toast.makeText(MainActivity.this,"劳资是个提示",Toast.LENGTH_SHORT).show();
}});

添加监听还有一种:

public class MainActivity extends Activity implements View.OnClickListener 
Button btn = (Button)findViewById(R.id.button);
btn.setOnClickListener(this);
@Override
public void onClick(View v) {    
    Toast.makeText(MainActivity.this,"劳资是个提示",Toast.LENGTH_SHORT).show();
}

从代码上看第二个跟iOS更像,但是敲起来我喜欢第一个,因为第二个特么?没?提?示???

  • 3.3 建个EditView(就是UITextView,而安卓的TextView是iOS的UILabel)。一样的,在layout里添加布局,在Activity里引用。这里的hint属性就是placeholder,占位的字符(可惜iOS里的textView没这玩意,每次还搞个lable监听编辑状态,wtf)
<EditText android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:id="@+id/editText"
              android:hint="@string/text_view_holder"
              android:textSize="22sp"
              android:textColor="@color/textView_text_color"/>
  • 3.4 建个ImageView,这里的src就是图片
<ImageView android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:id="@+id/imageView"    
               android:src = "@mipmap/ic_launcher"/>
  • 3.5 改一下,点击按钮的时候获得EditView里的文字
@Overridepublic 
void onClick(View v) {
        EditText editText = (EditText)findViewById(R.id.editText);
        String showStr = editText.getText().toString();
        Toast.makeText(MainActivity.this,showStr,Toast.LENGTH_SHORT).show();
}
  • 3.6 跑起来,点🐔按钮
two_final.png

下次就说下Activity的生命周期,然后多创建几个,让他们可以通信。👋

相关文章

  • 边做iOS边学Android(三):Activity生命周期+通

    边做iOS边学Android(一):新建一个project 边做iOS边学Android(二):认识几个常用的控...

  • 边做iOS边学Android(二):认识几个常用的控件

    边做iOS边学Android(一):新建一个project 趁着这几天进度不赶,把学了几天的笔记整理整理。过个几天...

  • IOS开发(二)中级控件

    IOS基础控件思维导图 二、中级控件 1、UIStepper (1)常用属性 (2)常用方法 2、UISlider...

  • 开题

    干了5年iOS开发一直没有做过啥正经的学习记录(懒!),最近在半年在做android项目(边学边做),基础的东西还...

  • Android - Navigation

    Android 基础知识 1. Android 常用控件 2. 控件常用属性 Android 常用知识点 动态权限...

  • Android日记之ListView和RecyclerView的

    前言 ListView和RecyclerView已经可以算是Android里面最常用的控件,也是最难用的几个控件了...

  • iOS开发-简单科普下UITableView和UICollect

    学iOS也有段时间了,作为iOS开发中常用的控件UITableView和UICollectionView,它们的d...

  • 边做边学

    尝试过很多的职业,小总结一个道理。 很多职业都是因热爱才能坚持,而坚持也需要边做边学。 很多时候,并不是你会了,然...

  • 边做边学

    这次去上海上老师的课,是不想自己一直站在原地不进步,想要挑战自己而去的。老师的教学方式就是一遍遍的打击学员们的...

  • 边学边做

    行动营的时候就做过英语学习分享,关于英语小白学英语的分享,运营学院也做个读书分享。 分享前,其实我也不知道具体说什...

网友评论

      本文标题:边做iOS边学Android(二):认识几个常用的控件

      本文链接:https://www.haomeiwen.com/subject/ysfjuttx.html