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

网站域名备案服务电子商务公司的名字

网站域名备案服务,电子商务公司的名字,淘宝流量助手平台,电子商务网站建设合同签订文章目录 问题点复现的场景机器横屏可复现#xff0c;竖屏不存在跟density 相关的。 解决问题方案设置输入模式路径 部分源码跟踪方法 延伸思考设置输入模式设置主题 问题点 进入系统设置-网络和互联网-WLAN-点击WIFI item ,密码输入框被遮挡#xff0c;输入的密码不可见.如… 文章目录 问题点复现的场景机器横屏可复现竖屏不存在跟density 相关的。 解决问题方案设置输入模式路径 部分源码跟踪方法 延伸思考设置输入模式设置主题 问题点 进入系统设置-网络和互联网-WLAN-点击WIFI item ,密码输入框被遮挡输入的密码不可见.如下图 复现的场景 机器横屏可复现竖屏不存在 跟density 相关的。 不同分辨率、不同density 的情形很多。所以并不是所有的机型产品必现的当遇到的识货我们就去解决。 同一台机器分辨率不会变不同density 下部分density 下会出现遮挡问题。 wm density value 命令可以用来调试复现问题。 同一台机器density 设置一样不同固件接不同分辨率的机器部分分辨率下会出现。 wm size value 命令可以来调试复现问题。 实际自己遇到情况如上无论自己接触到的RK、全志、MTK 产品都偶尔会遇到遮挡问题。 原因如上举例所说。 解决问题方案 设置输入模式 在 WifiConfigController2.java 中设置输入模式SOFT_INPUT_ADJUST_PAN 具体代码如下 public WifiConfigController2(WifiConfigUiBase2 parent, View view, WifiEntry wifiEntry,int mode) {mConfigUi parent;mView view;mWifiEntry wifiEntry;mContext mConfigUi.getContext();// Init Wi-Fi managermWifiManager (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);initWifiConfigController2(wifiEntry, mode);(scanForActivitySetSoftInputMode(mContext)).getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);}private static Activity scanForActivitySetSoftInputMode(Context cont) {if (cont null)return null;else if (cont instanceof Activity)return (Activity)cont;else if (cont instanceof ContextWrapper)return scanForActivitySetSoftInputMode(((ContextWrapper)cont).getBaseContext());return null;}在构造方法中添加 scanForActivitySetSoftInputMode 方法重新设置键盘模式 路径 MTK 平台下路径 vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/wifi/WifiConfigController2.javaRK 全志平台路径 /packages/apps/Settings/src/com/android/settings/wifi/WifiConfigController2.java在线平台源码位置查看方便check 源码 /packages/apps/Settings/src/com/android/settings/wifi/WifiConfigController2.java在线源码查看 部分源码跟踪 首先我们要找到源码位置如何查找输入密码具体的类和布局 方法 系统设置-网络和互联网-WLAN连接-WLAN-点击对应的WIFI列表自己想连接的那个WIFI ITEM查看logcat 日志打印有很多包名con.android.settings 下的日志我们找到关机日志比如下 SettingsActivity com.android.settings D Switching to fragment com.android.settings.wifi.ConfigureWifiEntryFragment SubSettings com.android.settings D Launching fragment com.android.settings.wifi.ConfigureWifiEntryFragment 过滤关键字Switching Launching C:\Users\Administratoradb shell k69v1_64_k419:/ $ logcat | grep Switching 09-29 11:33:18.496 1542 1542 D SettingsActivity: Switching to fragment com.android.settings.network.NetworkDashboardFragment 09-29 11:33:48.098 1542 1542 D SettingsActivity: Switching to fragment com.android.settings.wifi.WifiSettings 09-29 11:34:19.136 1542 1542 D SettingsActivity: Switching to fragment com.android.settings.wifi.ConfigureWifiEntryFragment130|k69v1_64_k419:/ $ logcat | grep Launching 09-29 11:33:18.496 1542 1542 D SubSettings: Launching fragment com.android.settings.network.NetworkDashboardFragment 09-29 11:33:48.098 1542 1542 D SubSettings: Launching fragment com.android.settings.wifi.WifiSettings 09-29 11:34:19.136 1542 1542 D SubSettings: Launching fragment com.android.settings.wifi.ConfigureWifiEntryFragment 可以看到对应的跳转和启动相关Fragment日志这样就追踪到 输入wifi 密码的源码 Fragment 是ConfigureWifiEntryFragment ConfigureWifiEntryFragment 中核心代码 ConfigureWifiEntryFragment 中核心代码 View rootView inflater.inflate(R.layout.wifi_add_network_viewprivate WifiConfigController2 mUiController; mUiController new WifiConfigController2(this, rootView, mWifiEntry, getMode()); 所以UI控制中心是在WifiConfigController2 中的 布局文件wifi_add_network_view includeandroid:idid/wifi_dialog_frameandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_aboveid/add_network_button_barapp:layout_constraintTop_toTopOfparentlayoutlayout/wifi_dialog/所以对应的布局文件是在layout/wifi_dialog 中加载的 对应的密码输入框 源码如下 LinearLayout android:idid/password_layoutandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentstylestyle/wifi_item TextViewandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentstylestyle/wifi_item_labelandroid:textstring/wifi_password /EditText android:idid/passwordandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentstylestyle/wifi_item_edit_contentandroid:singleLinetrueandroid:passwordtrue//LinearLayoutUI控制中心WifiConfigController2 在4 中 已经看到WifiConfigController2 构造方法里面传递了根布局的view,那么在控制中心就可以通过rootView 获取布局文件下面的所有View 进行控制。如下部分获取view 组件的方法findViewByIdSsidScanButton (ImageButton) mView.findViewById(R.id.ssid_scanner_button);mIpSettingsSpinner (Spinner) mView.findViewById(R.id.ip_settings);mIpSettingsSpinner.setOnItemSelectedListener(this);mProxySettingsSpinner (Spinner) mView.findViewById(R.id.proxy_settings);mProxySettingsSpinner.setOnItemSelectedListener(this);mSharedCheckBox (CheckBox) mView.findViewById(R.id.shared);mMeteredSettingsSpinner mView.findViewById(R.id.metered_settings);mHiddenSettingsSpinner mView.findViewById(R.id.hidden_settings);mPrivacySettingsSpinner mView.findViewById(R.id.privacy_settings);寻找解决方案 源码分析后我们解决方案就是在view 中设置输入模式SOFT_INPUT_ADJUST_PAN添加一个方法在构造方法中去添加 方法设置一次。private static Activity scanForActivitySetSoftInputMode(Context cont) {if (cont null)return null;else if (cont instanceof Activity)return (Activity)cont;else if (cont instanceof ContextWrapper)return scanForActivitySetSoftInputMode(((ContextWrapper)cont).getBaseContext());return null;} 延伸思考 设置输入模式 既然是 设置输入模式我们在Activity里面设置一次不就可以了吗 比如Activity里面硬编码设置一次 设置主题 输入模式里面通过配置文件AndroidMenifest中设置一次 我自己调试过没有用。 这可能跟布局有关系。
http://www.w-s-a.com/news/121527/

相关文章:

  • 合肥网站建设市场四川建设网官网住房和城乡厅官网官方
  • 天行健君子以自强不息网站建设江西网站做的好的企业文化
  • 建网站内容谷歌搜索引擎优化
  • 网站建设与管理案例教程第三版答案网站建设策划书范文六篇精选
  • 建设工程项目在哪个网站查询实时网站推广的最终目的是
  • 个人网站可以做淘客网站设置的参数
  • 自适应网站制作公司做室内设计通常上的网站
  • 网站建设项目采购公告建设网站公司建网页
  • 自己做网站怎么推广网站建设应该考虑哪些方面
  • 我做的网站手机上不了wordpress插件整站搬家
  • 河南省和建设厅网站首页西安找建网站公司
  • 网页设计基础代码网站进出成都最新通知
  • 如何创建网站乐清网络科技有限公司
  • 沈阳市网站制作艺术字体logo设计生成器
  • 网站设计常用软件都有哪些中国建设银行官方招聘网站
  • 证券投资网站建设视频直播怎么赚钱的
  • 建设酒店网站ppt模板下载郑州小程序设计外包
  • 网站建设自我总结google推广公司
  • 安全网站建设情况wordpress 评论表单
  • 网站建设发言材料个人网站推广软件
  • php建站软件哪个好南京哪家做网站好
  • 排名好的手机网站建设番禺网站建设专家
  • 番禺怎么读百度有专做优化的没
  • 网站开发中应注意哪些问题网络营销的主要特点
  • 网站定制案例北京网站制作招聘网
  • 网站建设与推广实训小结网站建设专业英文
  • 郑州网站建设动态凡科网站建设是免费的吗
  • 湖北手机网站建设wordpress转emlog博客
  • 北京东站设计网名的花样符号
  • 安徽建设厅网站首页网站开发aichengkeji