<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[William的博客]]></title><description><![CDATA[好看的皮囊千篇一律，有趣的灵魂万里挑一]]></description><link>https://blog.csdn.net/java_android_man</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; java_android_man]]></copyright><item><title><![CDATA[Android ImageView 设置圆角及外边框样式]]></title><link>https://blog.csdn.net/java_android_man/article/details/127115286</link><guid>https://blog.csdn.net/java_android_man/article/details/127115286</guid><author>java_android_man</author><pubDate>Thu, 29 Sep 2022 22:58:49 +0800</pubDate><description><![CDATA[Android ImageView 设置圆角及外边框样式]]></description><category></category></item><item><title><![CDATA[Android 性能优化 之 插桩日志分析]]></title><link>https://blog.csdn.net/java_android_man/article/details/126474771</link><guid>https://blog.csdn.net/java_android_man/article/details/126474771</guid><author>java_android_man</author><pubDate>Mon, 22 Aug 2022 23:04:43 +0800</pubDate><description><![CDATA[Android 使用插桩日志，更方便的分析性能数据，改善应用体验。]]></description><category></category></item><item><title><![CDATA[【iOS 开发】搜索栏控件 UISearchBar]]></title><link>https://blog.csdn.net/java_android_man/article/details/123241503</link><guid>https://blog.csdn.net/java_android_man/article/details/123241503</guid><author>java_android_man</author><pubDate>Wed, 02 Mar 2022 22:09:39 +0800</pubDate><description><![CDATA[目录iOS 搜索栏控件 UISearchBar1. UISearchBar 使用2. UISearchBarDelegate 协议详解附 Github 源码：
iOS 搜索栏控件 UISearchBar
1. UISearchBar 使用

// 创建 UISearchBar
let searchBar = UISearchBar(frame: CGRect(x: 15, y: 1400, width: 350, height: 150))

// 设置 UISearchBar 风格
searchBar.s]]></description><category></category></item><item><title><![CDATA[【iOS 开发】时间选择器控件 UIDatePicker]]></title><link>https://blog.csdn.net/java_android_man/article/details/123216682</link><guid>https://blog.csdn.net/java_android_man/article/details/123216682</guid><author>java_android_man</author><pubDate>Tue, 01 Mar 2022 21:43:41 +0800</pubDate><description><![CDATA[目录iOS 时间选择器控件 UIDatePicker1. UIDatePicker 计时器模式2. UIDatePicker 日期时间模式附 Github 源码：
iOS 时间选择器控件 UIDatePicker
1. UIDatePicker 计时器模式

// 创建 UIDatePicker
let picker1 = UIDatePicker(frame: CGRect(x: 15, y: 1050, width: 350, height: 150))

// 设置 UIDatePicker 模式
p]]></description><category></category></item><item><title><![CDATA[【iOS 开发】选择器控件 UIPickerView]]></title><link>https://blog.csdn.net/java_android_man/article/details/123192616</link><guid>https://blog.csdn.net/java_android_man/article/details/123192616</guid><author>java_android_man</author><pubDate>Mon, 28 Feb 2022 21:45:13 +0800</pubDate><description><![CDATA[目录iOS 选择器控件 UIPickerView1. UIPickerView 使用2. UIPickerView 设置数据3. UIPickerView 监听选中事件4. UIPickerView 设置图片视图附 Github 源码：
iOS 选择器控件 UIPickerView
1. UIPickerView 使用

// 创建 UIPickerView
let pickerView = UIPickerView(frame: CGRect(x: 15, y: 900, width: 350, heig]]></description><category></category></item><item><title><![CDATA[【iOS 开发】步进器控件 UIStepper]]></title><link>https://blog.csdn.net/java_android_man/article/details/123155590</link><guid>https://blog.csdn.net/java_android_man/article/details/123155590</guid><author>java_android_man</author><pubDate>Sat, 26 Feb 2022 21:44:33 +0800</pubDate><description><![CDATA[目录iOS 步进器控件 UIStepper1. UIStepper 常规使用2. UIStepper 设置按钮图片附 Github 源码：
iOS 步进器控件 UIStepper
1. UIStepper 常规使用

// 创建 UIStepper
let stepper = UIStepper(frame: CGRect(x: 25, y: 880, width: 0, height: 0))

// 设置 UIStepper 颜色
stepper.tintColor = UIColor.red

// ]]></description><category></category></item><item><title><![CDATA[【iOS 开发】进度条控件 UIProgressView]]></title><link>https://blog.csdn.net/java_android_man/article/details/123020870</link><guid>https://blog.csdn.net/java_android_man/article/details/123020870</guid><author>java_android_man</author><pubDate>Sat, 19 Feb 2022 17:12:44 +0800</pubDate><description><![CDATA[目录iOS 进度条控件 UIProgressView1. UIProgressView 常规使用2. UIProgressView 设置进度图片附 Github 源码：
iOS 进度条控件 UIProgressView
1. UIProgressView 常规使用

// 创建 UIProgressView
let progress1 = UIProgressView(progressViewStyle: UIProgressView.Style.default)

// 设置 UIProgressView]]></description><category></category></item><item><title><![CDATA[【iOS 开发】活动指示器控件 UIActivityIndicatorView]]></title><link>https://blog.csdn.net/java_android_man/article/details/123020482</link><guid>https://blog.csdn.net/java_android_man/article/details/123020482</guid><author>java_android_man</author><pubDate>Sat, 19 Feb 2022 16:49:31 +0800</pubDate><description><![CDATA[目录iOS 活动指示器控件 UIActivityIndicatorViewUIActivityIndicatorView 常规使用附 Github 源码：
iOS 活动指示器控件 UIActivityIndicatorView
UIActivityIndicatorView 常规使用

// 创建 UIActivityIndicatorView
let activity1 = UIActivityIndicatorView(style: .medium)
// 设置 UIActivityIndicatorV]]></description><category></category></item><item><title><![CDATA[【iOS 开发】滑块控件 UISlider]]></title><link>https://blog.csdn.net/java_android_man/article/details/122908249</link><guid>https://blog.csdn.net/java_android_man/article/details/122908249</guid><author>java_android_man</author><pubDate>Sun, 13 Feb 2022 14:06:11 +0800</pubDate><description><![CDATA[目录iOS 滑块控件 UISlider1. UISlider 的常规使用2. UISlider 设置进度图片附 Github 源码：
iOS 滑块控件 UISlider
1. UISlider 的常规使用

// 创建 UISlider
let slider = UISlider(frame: CGRect(x: 25, y: 750, width: 340, height: 30))

// 设置 UISlider 的最大值
slider.maximumValue = 100

// 设置 UISlide]]></description><category></category></item><item><title><![CDATA[【iOS 开发】基础控件：UISegmentedControl]]></title><link>https://blog.csdn.net/java_android_man/article/details/122900615</link><guid>https://blog.csdn.net/java_android_man/article/details/122900615</guid><author>java_android_man</author><pubDate>Sat, 12 Feb 2022 19:08:02 +0800</pubDate><description><![CDATA[目录iOS 基础控件 UISegmentedControl1. UISegmentedControl 的常规使用2. UISegmentedControl 动态更新 item附 Github 源码：
iOS 基础控件 UISegmentedControl
1. UISegmentedControl 的常规使用

// 创建分段控制器
let segmentedControl = UISegmentedControl(items: ["Home", "Circle"])

// 设置 UISegmentedC]]></description><category></category></item><item><title><![CDATA[【iOS 开发】基础控件：UIPageControl]]></title><link>https://blog.csdn.net/java_android_man/article/details/122849444</link><guid>https://blog.csdn.net/java_android_man/article/details/122849444</guid><author>java_android_man</author><pubDate>Wed, 09 Feb 2022 20:50:35 +0800</pubDate><description><![CDATA[目录iOS 基础控件 UIPageControl1. UIPageControl 的常规使用2. UIPageControl 添加交互事件附 Github 源码：
iOS 基础控件 UIPageControl
1. UIPageControl 的常规使用

// 创建分页控制器
let pageControl = UIPageControl(frame: CGRect(x: 25, y: 650, width: 280, height: 30))

// 设置 UIPageControl 页数
pageCo]]></description><category></category></item><item><title><![CDATA[【iOS 开发】基础控件：UISwitch]]></title><link>https://blog.csdn.net/java_android_man/article/details/122832208</link><guid>https://blog.csdn.net/java_android_man/article/details/122832208</guid><author>java_android_man</author><pubDate>Tue, 08 Feb 2022 22:28:56 +0800</pubDate><description><![CDATA[目录iOS 基础控件 UISwitch1. UISwitch 的常规使用2. UISwitch 监听开关状态变化附 Github 源码：
iOS 基础控件 UISwitch
1. UISwitch 的常规使用

// 创建开关控件
let si = UISwitch()

// 设置位置
si.center = CGPoint(x: 50, y: 620)

// 设置 UISwitch 开启状态的颜色
si.onTintColor = UIColor.green

// 设置 UISwitch 滑块的颜色]]></description><category></category></item><item><title><![CDATA[【iOS 开发】基础控件：UITextField]]></title><link>https://blog.csdn.net/java_android_man/article/details/122815355</link><guid>https://blog.csdn.net/java_android_man/article/details/122815355</guid><author>java_android_man</author><pubDate>Mon, 07 Feb 2022 22:21:41 +0800</pubDate><description><![CDATA[目录iOS 基础控件 UITextField1. UITextField 的常规使用2. UITextField 设置监听事件附 Github 源码：
iOS 基础控件 UITextField
1. UITextField 的常规使用

// 创建 UITextField
let textField = UITextField(frame: CGRect(x: 30, y: 550, width: 300, height: 40))

// 设置 UITextField 的边框风格
textField.bo]]></description><category></category></item><item><title><![CDATA[【iOS 开发】基础控件：UIImageView]]></title><link>https://blog.csdn.net/java_android_man/article/details/122796669</link><guid>https://blog.csdn.net/java_android_man/article/details/122796669</guid><author>java_android_man</author><pubDate>Sun, 06 Feb 2022 11:40:39 +0800</pubDate><description><![CDATA[目录iOS 基础控件 UIImageView1. UIImageView 的使用2. UIImageView 播放桢动画附 Github 源码：
iOS 基础控件 UIImageView
1. UIImageView 的使用

let uiImage = UIImage(named: "demo")
let size = uiImage?.size
print(size?.width.description as Any, size?.height.description as Any)

let imag]]></description><category></category></item><item><title><![CDATA[【iOS 开发】基础控件：UIButton]]></title><link>https://blog.csdn.net/java_android_man/article/details/122764537</link><guid>https://blog.csdn.net/java_android_man/article/details/122764537</guid><author>java_android_man</author><pubDate>Tue, 01 Feb 2022 16:20:37 +0800</pubDate><description><![CDATA[目录iOS 开发之基础控件 UIButton1. UIButton 常规使用2. UIButton 设置内容图片3. UIButton 设置背景图片附 Github 源码：
iOS 开发之基础控件 UIButton
1. UIButton 常规使用

let uiButton = UIButton(type: UIButton.ButtonType.system)
// UIButton 设置位置
uiButton.frame = CGRect(x: 10, y: 230, width: 360, heig]]></description><category></category></item><item><title><![CDATA[【iOS 开发】基础控件：UILabel]]></title><link>https://blog.csdn.net/java_android_man/article/details/122754833</link><guid>https://blog.csdn.net/java_android_man/article/details/122754833</guid><author>java_android_man</author><pubDate>Sun, 30 Jan 2022 18:43:47 +0800</pubDate><description><![CDATA[目录iOS 开发之基础控件 UILabel1. UILabel 的使用2. UILabel 设置可变属性文本附 Github 源码：[ViewController.swift](https://github.com/WeiLianYang/iOSAppDemo/blob/main/iOSAppDemo/ViewController.swift)
iOS 开发之基础控件 UILabel
1. UILabel 的使用

// 创建 UILabel 控件
let label = UILabel(frame: CG]]></description><category></category></item><item><title><![CDATA[【Fix Bug】针对 Google Photos 返回的图片Uri，裁剪照片失败]]></title><link>https://blog.csdn.net/java_android_man/article/details/122269680</link><guid>https://blog.csdn.net/java_android_man/article/details/122269680</guid><author>java_android_man</author><pubDate>Sat, 01 Jan 2022 19:25:40 +0800</pubDate><description><![CDATA[目录一、问题背景二、定位原因三、解决办法1. 通过媒体库返回 Uri2. 通过照片墙读取 Uri3. 将图片缓存后生成 Uri附 Github 源码
一、问题背景

在选择 Google Photos 的照片后，会返回 uri，然后再去调用照片裁剪功能会失败。系统提示 “Error, could not load media” 或 “发生错误，无法加载媒体”。


二、定位原因

在选择 Google Photos 的照片后，返回的 uri 为：

content://com.google.android.]]></description><category></category></item><item><title><![CDATA[Android 11 适配 软件包可见性]]></title><link>https://blog.csdn.net/java_android_man/article/details/122133434</link><guid>https://blog.csdn.net/java_android_man/article/details/122133434</guid><author>java_android_man</author><pubDate>Fri, 24 Dec 2021 21:36:05 +0800</pubDate><description><![CDATA[一、软件包可见性说明
如果应用以 Android 11（API 级别 30）或更高版本为目标平台，在默认情况下，系统会自动让部分应用对您的应用可见，但会隐藏其他应用。
通过让部分应用在默认情况下不可见，系统可以了解应向应用显示哪些其他应用，这样有助于鼓励最小权限原则。

注意：

如果您的应用以 Android 10（API 级别 29）或更低版本为目标平台，那么全部应用均会自动对您的应用可见。
即使您的应用以 Android 11（API 级别 30）或更高版本为目标平台，以下场景不会受影响：



不会]]></description><category></category></item><item><title><![CDATA[Kotlin 与 Java 相互调用]]></title><link>https://blog.csdn.net/java_android_man/article/details/121879077</link><guid>https://blog.csdn.net/java_android_man/article/details/121879077</guid><author>java_android_man</author><pubDate>Sat, 11 Dec 2021 21:44:41 +0800</pubDate><description><![CDATA[目录一、Kotlin 调用 Java1. kotlin 关键字转义2. kotlin 可将数组传给 java 的可变数量参数3. kotlin 获取对象的 java 类二、Java 调用 Kotlin1. java 调用 kotlin 类的属性和方法2. java 调用 kotlin 的顶级属性和顶级函数3. java 调用生成指定类名的 kotlin 属性和函数4. java 调用 kotlin 的伴生对象的方法和静态方法5. java 调用 kotlin 单例类的方法6. java 调用 kotlin ]]></description><category></category></item><item><title><![CDATA[Kotlin 注解]]></title><link>https://blog.csdn.net/java_android_man/article/details/121865299</link><guid>https://blog.csdn.net/java_android_man/article/details/121865299</guid><author>java_android_man</author><pubDate>Fri, 10 Dec 2021 21:36:41 +0800</pubDate><description><![CDATA[目录1. kotlin 定义注解2. kotlin 元注解3. kotlin 使用注解附 Github 源码：
1. kotlin 定义注解

注解属性在使用时指定，其后不会再变，只能声明为只读属性


annotation class Annotation1(val name: String, val desc: String)

annotation class Annotation2(val field1: Int, val field2: String)



2. kotlin 元注解


@Re]]></description><category></category></item></channel></rss>