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

网站设计与建设公司wordpress横向主题

网站设计与建设公司,wordpress横向主题,做网站好学吗,网游大全文章目录 问题点复现的场景机器横屏可复现#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.hkea.cn/news/14520034/

相关文章:

  • 企业网站页面wordpress 分类目录 子目录
  • python制作视频网站开发专业建站网产品网络推广
  • 给个网站急急急2021公司网站建设存在问题
  • angularjs网站开发实例企业信息系统是什么
  • 成都建站哪家好wordpress导航菜单下拉
  • 网站有备案号吗常用的网站推广方法有哪些
  • 简单网站建设协议书在线代理网页免费
  • wordpress新建关于我们页面东莞网站优化软件
  • 郑州做网站制作的公司静态网站数据库
  • 营销型网站建设公司价格浏览器加速器
  • 导航网站好处免费凡科建站官网
  • 建设网站的结束语饰品 东莞网站建设
  • 江苏盐城网站建设东莞网站制作实力乐云seo
  • 基础展示营销型型网站做网站的技术关键
  • 自动写作网站wordpress小工具 样式
  • 自建网站需要什么手续最近重大新闻事件2021
  • 汕头高端网站建设陕西做网站的公司
  • 广州市城乡建设局网站设计一个个人网站的具体步骤
  • 地产flash网站自动做海报的网站
  • 车行网站源码中文域名注册查询官网
  • dedecms网站空白wordpress主动提交
  • 制作网站服务公司如何选择做网站公司
  • 个人网站建设yxhuying软件培训内容怎么写
  • 鞍山百度网站怎么制作龙游发布紧急提示
  • 龙岗网站设计案例免费建站模板哪个好
  • 网站后台图片上传大小上海比较有名的室内设计公司
  • 建站排名泉州那家做网站公司好
  • 购物网站开发的意义和目的陕西旭泽建设有限公司网站
  • 环保设备网站建设方案visual studio网站开发
  • 网站建设公司小猫建站上海公司注册公司