当前位置: 首页 > news >正文

美橙互联建站网站被截止咸阳市城市建设管理局网站

美橙互联建站网站被截止,咸阳市城市建设管理局网站,四川省工程造价信息网官网,全网推广系统近期在做新项目中接触到了Preference,这是一种用户界面元素,用于存储和展示应用程序的各种设置和用户偏好。该控件几年前google就已经发布了只是一直没机会应用,其实用起来还是挺方便的,使用过程中遇到了几个问题在此记录下。 1、…

近期在做新项目中接触到了Preference,这是一种用户界面元素,用于存储和展示应用程序的各种设置和用户偏好。该控件几年前google就已经发布了只是一直没机会应用,其实用起来还是挺方便的,使用过程中遇到了几个问题在此记录下。

1、自定义Preference在屏幕显示时宽度没有充满屏幕

constructor(context: Context,attrs: AttributeSet?,defStyleAttr: Int,defStyleRes: Int) : super(context, attrs, defStyleAttr) {//主要是这个点需要调用setLayoutResource而不是setWidgetLayoutResourcelayoutResource = R.layout.preference_icon_title_layoutval config = context.obtainStyledAttributes(attrs,R.styleable.IconTitlePreference,defStyleAttr,defStyleRes)//获取属性mTitle = config.getString(R.styleable.IconTitlePreference_settingTitle)config.recycle()}

2、release包打开Preference相关页面出现闪退

<Preferenceapp:fragment="aaa.bbb.ccc.fragment.DemoFragment"app:title="@string/settings_adblock" />

如果在xml你通过fragment属性配置了跳转页面的话,闪退问题是混淆导致的,最好是将fragment属性指定的fragment放到同一个文件夹下,然后配置整个目录不被混淆

-keep class aaa.bbb.ccc.fragment.**{*;}

3、顶部返回按钮回退处理
通常我们在父Activity里实现PreferenceFragmentCompat.OnPreferenceStartFragmentCallback来监听onPreferenceStartFragment回调,然后获取要打开的fragment添加到布局中

    override fun onPreferenceStartFragment(caller: PreferenceFragmentCompat,pref: Preference): Boolean {val args = pref.extrasval fragment = supportFragmentManager.fragmentFactory.instantiate(classLoader,pref.fragment!!)fragment.arguments = argsfragment.setTargetFragment(caller, 0)supportFragmentManager.beginTransaction()//可以在这里设置fragment启动动画.setCustomAnimations(R.anim.slide_in_from_right,R.anim.fade_out_scale,R.anim.fade_in_scale,R.anim.slide_out_to_right).replace(R.id.root, fragment)//这个方法一定要调用,为了将当前fragment添加到回退栈中,用于下面的popBackStackImmediate调用.addToBackStack(null).commit()return true}

顶部title的返回键处理

findViewById<ImageView>(R.id.setting_page_title).setOnClickListener {//如果直接finish的话,无论你fragment层级有多深都会全部关闭//popBackStackImmediate从回退栈中弹出当前fragment,弹出成功会返回true//如果是到达了父容器层级时会返回false,这时候直接finish即可if (!supportFragmentManager.popBackStackImmediate()) {finish()}}

最后总结下自定义Preference的使用

class SuperPreference : Preference {private var mTitle : String?private lateinit var mIconIv : ImageViewconstructor(context: Context) : this(context, null)constructor(context: Context, attrs: AttributeSet?) : this(context,attrs,R.attr.preferenceStyle)constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : this(context,attrs,defStyleAttr,0)constructor(context: Context,attrs: AttributeSet?,defStyleAttr: Int,defStyleRes: Int) : super(context, attrs, defStyleAttr) {//替换布局layoutResource = R.layout.preference_icon_title_layoutval config = context.obtainStyledAttributes(attrs,//自定义的属性R.styleable.IconTitlePreference,defStyleAttr,defStyleRes)//获取属性mTitle = config.getString(R.styleable.IconTitlePreference_settingTitle)config.recycle()}override fun onBindViewHolder(holder: PreferenceViewHolder) {super.onBindViewHolder(holder)//在这里对控件的findViewById初始化操作mIconIv = holder.findViewById(R.id.setting_icon) as ImageView//对控件进行赋值等操作}
}
http://www.yayakq.cn/news/837730/

相关文章:

  • 摄影网站上的照片做后期嘛网站外链建设与维护
  • 沈阳网站建设公司推广平台收费标准
  • 网站设计大小晋城市建设局网站
  • 什么是网站建设的重点山东跨境电商建站公司
  • 做传媒网站公司艺术设计专业
  • 徐汇做网站公司泰安网站建设 九微米
  • 线下推广公司东莞公司seo优化
  • 网站备案就是合法的福州app开发定制
  • 商务网站建设的项目体会洛阳制作网站公司吗
  • 岳阳建网站广州番禺人才网官网
  • 做弹幕网站wordpress 多页面
  • 网站优化的作业及意义百度网站流量查询
  • 网站租空间多少钱厦门网红酒店
  • 平谷建站推广html5网站开发的源码
  • 网站如何防注册机做网站运营需要学什么
  • 十堰学校网站建设wordpress toggle 插件
  • 网站建设服务包括什么不良网站举报中心官网
  • 秦皇岛建设网站logo设计在线生成免费标智客
  • 网站建设的会计核算大连网站开发乛薇
  • wap类网站我的小程序入口
  • 电子商务网站设计思路网站开发女
  • 免费网站后台管理模板下载分享类wordpress主题
  • 如何文字推广一个婚恋网站营销型网站建设应该考虑哪些因素
  • 网站开发语言排名旅游网网站建设目的
  • 开封做网站的公司wordpress快递查询
  • 杨凌区住房和城乡建设局网站火车头 wordpress
  • 学网站开发如何挣钱35互联做的网站如何
  • 做网站用什么字体比较好网站域名中请勿使用二级目录形式
  • 做食品那些网站好域名的格式是什么
  • 郑州做网站公织梦网站后台logo删除