Glide加载ImageView显示不全的问题(fitxy/centerCrop)

简单记录下,用了一个圆角处理,圆角里面了是centerCrop,设置ImageView控件的fitxy属性,也还是几率性的显示不全! 代码是这样的: GlideApp.with(imageView.getContext()) .load(imgUrl) .apply(new RequestOptions().transform(new CircleCrop()).placeholder(placeHolder).error(placeHolder)) .into(imageView); 然后我又网上查了下,发现有网友这样说: 由于位图尺寸导致问题: 如果Imageview中默认的占位图片大小没有填满Imageview,比如lmageview10080, 但是给Imageview设置占位图片后图片没有占满控件,例如控件被填了8080,那么Glide加载图片的时候,会出现加载图片也是填满8080的情况过一会才恢复正常100*80。 占位的问题?我看了下我自己的占位图片,确实尺寸跟代码设置的控件的尺寸不一样。然后就针对这个情况进行了填充设置 fitCenter GlideApp.with(imageView.getContext()) .setDefaultRequestOptions(new RequestOptions() .centerCrop() .placeholder(placeHolder).error(placeHolder) .fitCenter() ) .load(imgUrl) .apply(new RequestOptions().circleCrop()) .into(imageView);

八月 27, 2019 · 1 分钟 · LengYue

flutter 日常采坑

记录一下用flutter开发过程中遇到的问题,随缘更新~ DropdownButton 去掉分割线 DropdownButton的默认分割线,在自身是没办法取消的。在我怀疑Google硬编码的时候,发现了DropdownButtonHideUnderline,DropdownButton的分割线就是通过DropdownButtonHideUnderline实现的,灵机一动用DropdownButtonHideUnderline包裹DropdownButton同时取消了颜色属性,果然DropdownButton的分割线没有了。 DropdownButtonHideUnderline( child: DropdownButton( iconSize: 0, items: itemList, hint: hit, isExpanded: true, onChanged: change, ), )

四月 30, 2019 · 1 分钟 · LengYue

Flutter ListView嵌套不显示布局解决方案

在Flutter中 如果使用 listview 嵌套 listview(gridView) 的方式(其实不是很推荐这么写)直接写 会发现布局不显示。 搜索一下基本上解决方法都是给内部的 listview 设置一个高度,但是针对高度不固定的listview这种方式基本无效,而且设置固定高度后 listview 的性能会有额外开销(因为不可见的item不能被回收了) 解决方法 其实查找一下源码,就可以发现官方已经给出了解决方法,在注释里: /// Here are two brief snippets showing a [ListView] and its equivalent using /// [CustomScrollView]: /// /// ```dart /// ListView( /// shrinkWrap: true, /// padding: const EdgeInsets.all(20.0), /// children: <Widget>[ /// const Text('I\'m dedicating every day to you'), /// const Text('Domestic life was never quite my style'), /// const Text('When you smile, you knock me out, I fall apart'), /// const Text('And I thought I was so smart'), /// ], /// ) /// ``` 所以比较简单了,直接在子listview中加上shrinkWrap: true属性:...

三月 19, 2019 · 1 分钟 · LengYue

在非主module中引用aar的问题

引用aar的方法 把aar文件放到 libs 目录下面,并且在对应的 module 项目下面 build.gralde 中添加如下配置: repositories { flatDir { dirs 'libs' } dependencies { // 其中aar-file-name不用文件后缀名 compile(name: 'aar-file-name', ext: 'aar') } 编译提示: Error:Unable to resolve dependency for ':app@debug/compileClasspath': Could not find :XXXX:. 解决: 在主(一般就是app)module下同样配置aar的目录 /**子模块含有aar*/ repositories { flatDir { dirs 'libs','../yourmodule/libs' //aar所在的路径 } } 同样 在其他module下如果需要使用这个aar,同样需要配置路径 这种方式最方便,但是在使用和查阅起来也不是很清晰。 将aar作为module使用。 具体做法,打开Project Structure(CMD+; 或者 ctrl+;)选择添加新的module然后选择import aar/jar 然后在需要的module这种引入即可。在主module中不需要在申明路径...

二月 18, 2019 · 1 分钟 · LengYue

Android中使用FutterView的相关问题(一)

Flutter从Main开始启动,启动的时候需要最外层是MaterialApp void main() => runApp(_widgetForRoute(window.defaultRouteName)); Widget _widgetForRoute(String route) { return MaterialApp( color: Colors.white, theme: ThemeData( primarySwatch: Colors.blue, ), home: findHome(route), ); } Widget findHome(String route) { switch (route) { case 'index': return IndexMain(); case 'detail': return ProductDetail(); default: return Center( child: Text('Unknown route: $route', textDirection: TextDirection.ltr), ); } } 如果背景是黑色的使用caffold嵌套 如果文字有黄色下划线,原因是theme的问题,两种方式: 使用顶层Material嵌套(推荐,使用这种方式,原生端页面展示会比其他的好看的) 对Text添加Style: style: new TextStyle(decoration: TextDecoration....

十二月 13, 2018 · 2 分钟 · LengYue

Flutter 常用 Widget 属性

TextStyle const TextStyle({ this.inherit: true, // 为false的时候不显示 this.color, // 颜色 this.fontSize, // 字号 this.fontWeight, // 字重,加粗也用这个字段 FontWeight.w700 this.fontStyle, // FontStyle.normal FontStyle.italic斜体 this.letterSpacing, // 字符间距 就是单个字母或者汉字之间的间隔,可以是负数 this.wordSpacing, // 字间距 句字之间的间距 this.textBaseline, // 基线,两个值,字面意思是一个用来排字母的,一人用来排表意字的(类似中文) this.height, // 当用来Text控件上时,行高(会乘以fontSize,所以不以设置过大) this.decoration, // 添加上划线,下划线,删除线 this.decorationColor, // 划线的颜色 this.decorationStyle, // 这个style可能控制画实线,虚线,两条线,点, 波浪线等 this.debugLabel, String fontFamily, // 字体 String package, }) : fontFamily = package == null ?...

十二月 13, 2018 · 5 分钟 · LengYue

Flutter中嵌入Native组件

Flutter官方提供的控件AndroidView、UiKitView就是一种比较优雅的解决方案了。这里做了一个简单的嵌入TextView的demo(使用这种方式会增加性能上的开销,应该尽量避免使用) 使用方式 native端 跟MethodChannel的使用方法类似,在native侧,我们实现一个PlatformViewFactory(iOS是FlutterPlatformViewFactory),在create方法中,使用平台方法创建View返回。 override fun create(context: Context?, i: Int, any: Any?): PlatformView { return object : PlatformView { override fun getView(): View { val text = TextView(context) text.layoutParams = ViewGroup.LayoutParams(SizeUtils.dp2px(200f), SizeUtils.dp2px(200f)) text.apply { setText("Android View") setTextColor(Color.BLUE) setBackgroundColor(Color.RED) } return text } override fun dispose() { } } } func create(withFrame frame: CGRect, viewIdentifier viewId: Int64, arguments args: Any?...

十二月 7, 2018 · 1 分钟 · LengYue

Flutter和原生Android控件对比

Flutter和原生Android控件对比: Flutter控件 Android控件 AppBar ActionBar/ToolBar ListView ListView/RecyclerView Text TextView Center ViewGroup FloatingActionButton FloatingActionButton(design库里面的) BottomNavigationBar BottomNavigation(design库里面的) RaisedButton/Button Button Column LinearLayout的android:orientation=“vertical” Row android:orientation=“horizontal” DecorationImage ImageView Image ImageView Stack FrameLayout/RelativeLayout Container RelativeLayout CustomMultiChildLayout RelativeLayout Algin alginParentXXX属性 resizeToAvoidBottomPadding android:windowSoftInputMode=”adjustResize属性 SingleChildScrollView ScrollView CustomScrollerView Recyclerview Image里面的BoxFit参数介绍:(相当于Android的ImageView的scaleType参数)...

十二月 6, 2018 · 1 分钟 · LengYue