我已将searchItem膨胀为工具栏中的menuItem,我的问题是方向改变时,如果我的searchView处于展开模式,那么即使在方向聚焦于另一个视图之前,它也会自动获得焦点。
如何防止searchView自动获得焦点?
在改变方向之前:
改变方向后
答案 0 :(得分:2)
在recyclerView上方创建一个虚拟视图,然后在自动旋转后,该视图将首先进行焦点,因此搜索视图不会成为焦点,请尝试这样
答案 1 :(得分:1)
Android会尝试在视图层次结构中找到第一个可聚焦的视图并专注于它。为避免这种情况,您可以添加虚拟视图(例如,使用0高度和宽度的LinearLayout)来窃取第一个焦点。
override func viewDidLoad() {
super.viewDidLoad()
let linkAttributes = [
NSLinkAttributeName: NSURL(string: "http://stalwartitsolution.co.in/luminutri_flow/terms-condition")!
] as [String : Any]
let attributedString = NSMutableAttributedString(string: "Please tick box to confirm you agree to our Terms & Conditions, Privacy Policy, Disclaimer. ")
attributedString.setAttributes(linkAttributes, range: NSMakeRange(44, 18))
attributedString.addAttribute(NSUnderlineStyleAttributeName, value: NSNumber(value: 1), range: NSMakeRange(44, 18))
textview.delegate = self
textview.attributedText = attributedString
textview.linkTextAttributes = [NSForegroundColorAttributeName: UIColor.red]
textview.textColor = UIColor.white
}
func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool {
return true
}