发表于: 2018-12-06 21:59:07
0 957
一、今天完成的事情
implementation、api、compileOnly区别
在Android studio3.0中,compile依赖关系已被弃用,被implementation和api替代,provided被compile only替代,apk被runtime only替代
api:跟2.x版本的 compile完全相同
implementation:只能在内部使用此模块,比如我在一个libiary中使用implementation依赖了gson库,然后我的主项目依赖了libiary,那么,我的主项目就无法访问gson库中的方法。这样的好处是编译速度会加快,推荐使用implementation的方式去依赖,如果需要提供给外部访问,那么就使用api依赖即可.
ImageView中的图片宽度适应屏幕,保持宽高比时,上下会留有空白,这里面涉及到两个属性scaleType和
adjustViewBounds。
scaleType属性:
android:scaleType="matrix"
不改变原图的大小,从ImageView的左上角开始绘制原图,原图超过ImageView的部分作裁剪处理。
android:scaleType="center"
按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示
android:scaleType="centerCrop"
按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)
android:scaleType="centerInside"
将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽
android:scaleType="fitCenter"
把图片按比例扩大/缩小到View的宽度,居中显示
android:scaleType="fitStart", android:scaleType="fitEnd"
在图片缩放效果上与FIT_CENTER一样,只是显示的位置不同,FIT_START是置于顶部,FIT_CENTER居中,
FIT_END置于底部。
android:scaleType="fitXY"
不按比例缩放图片,目标是把图片塞满整个View。
adjustViewBounds属性
true/false 是否保持原图宽高比
隐式Intent
隐式Intent并不明确指明要启动哪一个活动,而是通过指定action和category等信息,让系统去分析并响应启动合适的活动,即可以响应这个隐式Intent的活动。隐式Intent非常适合用来去启动系统应用。
调用系统拨号界面
在AndroidManifest中
<activity
android:name=".activity.WorkerPageActivity"
android:theme="@style/ColorTranslucentTheme">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="tel" />
</intent-filter>
</activity>
<action>标签指明当前活动可以响应android.intent.action.VIEW这个action的活动
<category>标签包含一些附加信息
<data>标签中通过Android:scheme指定数据协议为tel,表示拨打电话。
case R.id.bt_call:
if (!workerPhoneNumber.equals("")) {
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:" + workerPhoneNumber));
startActivity(intent);
}
break;
二、明天的计划
支付
三、遇到的问题
四、收获
compile implementation
scaleType和adjustViewBounds属性
评论