发表于: 2018-12-06 21:59:07

0 784


一、今天完成的事情

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

scaleTypeadjustViewBounds属性




返回列表 返回列表
评论

    分享到