微信个人资料的地区一栏无法微信选择地区区,一直是空白的不显示城市列表,

微信怎设置地区为中国,不要城市_百度知道
微信怎设置地区为中国,不要城市
我有更好的答案
jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="http://b.hiphotos.hiphotos.baidu.com/zhidao/pic/item/83025aafa40f4bfbaf78f0f736181f,或者在“全部地区”里选择“中国”;点击选择“中国”以后,不要再选择“城市”,返回就可以在“地区”里看到显示为“中国”了。<a href="http.baidu,点击“地区”;在“选择地区”的页面上,若是定位到当前位置为“中国”:登录手机微信,不要在“中国”里面再选择城市即可,具体步骤如下.baidu
①打开 开发人员选项(手机设置中) 允许模拟位置②使用CrazyCoder开发的 位置修改器 (或其他微信伪装定位工具)锁定一个北京附近的位置③打开微信6.0自动定位地区如果你需要Play Store的版本或者微信旧版本官网 weibo@ixiaofei
一楼的方法,在直辖市级别的能用,厉害,已改成功
定位那一楼的答案测试成功!
2条折叠回答
为您推荐:
您可能关注的内容
微信的相关知识
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。微信创建位置不显示地区怎么办,选择地区那一栏是空白的_百度知道
微信创建位置不显示地区怎么办,选择地区那一栏是空白的
我有更好的答案
自己填写呀!
为您推荐:
其他类似问题
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。微信好友头像无法显示的多种原因及解决方法
互联网 & 12-11 11:36:57 & 作者:佚名 &
我用微信挺久了,最近突然有一个好友的头像一直不显示,重装软件也没用。之前一直有的,这到底怎么回事呢?其实微信头像无法显示有很多种,下面小编就为大家介绍一些头像无法显示原因以及解决方法,一起来看看吧
微信现在是很多人都在使用的一款通讯软件,但很多朋友的微信在使用过程中出现了微信头像无法显示的情况,小编同学也出现过这样的问题,微信头像暂时无法显示的问题出现的原因有很多种,下面是小编为大家收集到的一些头像无法显示原因,希望能帮助大家!
软件名称:微信 V6.5.6 for Android 官方中文免费 正式版软件大小:40.3MB更新时间:
软件名称:微信 手机通信软件 V6.6.1 for iPhone 苹果版软件大小:165MB更新时间:
原因一:可能是手机的网速问题,如果是手机网速不好它是有可能出现这样的问题的。大家可以重新开机刷新一下,或者连接网速好的WiFi。
原因二:可能是手机的内存不足了,你要删除一些自己不用的东西,或者对方没设置头像。(这是不能显示好友的头像的原因)
原因三:可能是你在清理手机垃圾的时候顺便一起把装微信头像的文件夹里面的内容一起清理掉了。手机重新开机,重新登录也许能解决问题。
原因四:可能是服务器问题,你可以重新登录微信。点击设置&点击最下面退出微信&点击弹出框&关闭微信&&重新打开微信图标,信订阅号头像和封面图就显示出来了
原因五:如果以上问题都不是,可以选择重新下载一个新版本的微信!
以上就是微信好友头像无法显示的多种原因及解决方法介绍,大家看明白了吗?希望能帮到大家!
大家感兴趣的内容
12345678910
最近更新的内容全国各地微帮微信号最全空白地区诚招代理
当我们到了一个城市,是否还会留念家乡的好吃的,好看的东西呢?那么只需要我们定位到我们想要的位置,轻松发布需求,寻求这个区域的人帮你买。有的人会想,为什么不找亲朋好友帮忙呢?因为很简单,我不想麻烦人,不想欠人情。同样的,可能你也会听说某个城市的特产很好,我也想要,那么你同样可以用以上的方式快速找到人来帮你。有的人可能会想,淘宝呀,但是我想大家应该都明白,淘宝现在人家的评论越来越差,假货太多,而我们的平台是找人帮你完成,而且买的东西是否是你想要的都可以叫帮助端提供现场照片。
  同样的,未来社会将为什么会无工可打,因为互联网的快速发展,实体行业都慢慢走电商模式。那么社会就会有很大的剩余劳动力,而这些人做什么呢?兼职,对,只有兼职能解决他们的温饱,同样的我们的平台将要做到最大的兼职平台,没事情做没关系,关注着你的手机抢单去吧。别忘了,我们还有一个帮助端口哦,也就是当你想赚钱的时候,你可以主动发布在你可以为人服务的区域,把你的服务发布出去,这叫做刺激消费。很简单的:今天本来我就要买菜,我是不是可以帮助小区内没有时间买菜的人顺道带点回来呢?学生回宿舍之前是不是可以顺道帮同一栋楼的人带点吃的呢?本来我们就要开车到一个地方,我是不是可以提前问下有没有人一起搭车呢?
  只要我们还活着,每天都有不同的困难;只要我们肯勤劳,每天都可以为他人提供不同的服务。这就是我们微帮,让陌生的世界不再陌生。淘宝的出现改变了人类的消费观念,微帮的出现将改变人类的生活方式。
微帮主平台全国各地微帮联系方式
进入微帮官网:http://www.weibangw.com/plus/list.php?tid=25
全国各地招代理加盟:wbbz365
我的更多文章:
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。React Native使用SectionList打造城市选择列表,包含分组的跳转 - 简书
React Native使用SectionList打造城市选择列表,包含分组的跳转
本文使用的RN(使用RN表示React Native)的版本为0.44版本,从官方文档上看SectionList是从0.43版本才有的,而要列表的吸顶悬浮功能,从0.44版本才开始有。具体可以查看React Native的官方文档。至于为何使用SectionList而不是使用ListView,可以自行百度SectionList(FlatList)的好处,就我了解主要是性能上的差别(这点深受ListView其害)。这里就不加以讨论了,本文主要介绍的是如何使用SectionList打造分组悬停,并且添加右侧的分组的跳转控制(类似微信的通讯录)
2.SectionList简单介绍
首先我们要做的是,如何使用SectionList生成一个分组列表,具体的使用我们可以看下RN官方中文文档 其中对SectionList和FlatList的介绍,我们来看看数据源的格式
&SectionList
renderItem={({item}) =& &ListItem title={item.title} /&}
renderSectionHeader={({section}) =& &H1 title={section.key} /&}
sections={[ // 不同section渲染相同类型的子组件
{data: [{key:...}...], key: ...},
{data: [{key:...}...], key: ...},
{data: [{key:...}...], key: ...},
在这里我们重点要注意的是,对于每组数据,必须有一个key的字段,并且不同组之间key的内容必须是不一样的,同时每组里面的数据也必须有一个key的字段,key的内容同样是不一致的。(虽然我也不晓得为嘛要这样设计,但是实际使用过程中不添加的话的确会报warning,有兴趣的话可以看下其中的源码)
3.SectionList生成城市列表
3.1 格式化城市列表数据
这里我们有一个city.json的数据源,里面包含了国内的城市列表信息,格式组成如下
"title": "A"
"city_child": "阿坝",
"city_child_en": "aba",
"city_id": ,
"city_name_ab": "ab.ab",
"city_parent": "阿坝",
"city_pinyin_name": "aba.aba",
"country": "中国",
"latitude": 32,
"longitude": 101,
"provcn": "四川"
"city_child": "阿巴嘎",
"city_child_en": "abaga",
"city_id": ,
"city_name_ab": "xlgl.abg",
"city_parent": "锡林郭勒",
"city_pinyin_name": "xilinguole.abaga",
"country": "中国",
"latitude": 44,
"longitude": 114,
"provcn": "内蒙古"
现在我们要做的就是把这样的数据源格式化成我们SectionList需要的数据的格式,格式化代码如下
async getCityInfos() {
let data = await require('../app/assets/city.json');
let jsonData = data.data
//每组的开头在列表中的位置
let totalSize = 0;
//SectionList的数据源
let cityInfos = [];
//分组头的数据源
let citySection = [];
//分组头在列表中的位置
let citySectionSize = [];
for (let i = 0; i & jsonData. i++) {
citySectionSize[i] = totalS
//给右侧的滚动条进行使用的
citySection[i] = jsonData[i].
let section = {}
section.key = jsonData[i].
section.data = jsonData[i].
for (let j = 0; j & section.data. j++) {
section.data[j].key = j
cityInfos[i] =
//每一项的header的index
totalSize += section.data.length + 1
this.setState({data: cityInfos, sections: citySection, sectionSize: citySectionSize})
在这里我们用async async,然后异步读取city.json里面的数据,然后遍历整个数据我们得到三组我们需要的数据,分别为SectionList的数据源(列表展示使用),分组头的数据源(后面我们在右侧展示是使用),分组头在列表中的位置(做列表跳转的时候使用)。
这样我们得到了数据源,然后将其添加到SectionList中,我们来看下效果
&SectionList
ref='list'
enableEmptySections
renderItem={this._renderItem}
renderSectionHeader={this._renderSectionHeader}
sections={this.state.data}
getItemLayout={this._getItemLayout}/&
3.2 列表右侧分组头展示
在上面中我们得到了分组的头的列表citySection,那么我们改如和将其显示到列表右侧呢?
在这里我们将头部使用Text进行展示,然后外部使用View进行包裹,对外部的View进行手势监听,根据位置和距离来判断当前选中的头部,然后通知SectionList进行相对应的操作。
首先我们生成Text,然后对其进行高度测量(便于之后的手势控制使用)
_getSections = () =& {
let array = new Array();
for (let i = 0; i & this.props.sections. i++) {
array.push(
style={styles.sectionView}
pointerEvents="none"
ref={'sectionItem' + i}&
style={styles.sectionItem}&{this.props.sections[i]}&/Text&
componentDidMount() {
//它们的高度都是一样的,所以这边只需要测量一个就好了
const sectionItem = this.refs.sectionItem0;
this.measureTimer = setTimeout(() =& {
sectionItem.measure((x, y, width, height, pageX, pageY) =& {
this.measure = {
由于它们每一项的高度是一样的,所以这边只需要测量一个的高度,其他的也就都知道了
然后我们将这些Text展示到View中去,并对View进行手势控制的监听
style={styles.container}
ref="view"
onStartShouldSetResponder={returnTrue}
onMoveShouldSetResponder={returnTrue}
onResponderGrant={this.detectAndScrollToSection}
onResponderMove={this.detectAndScrollToSection}
onResponderRelease={this.resetSection}&
{this._getSections()}
const returnTrue = () =&
从代码中我们可以看出,这边我们需要处理的是手势的Move和抬起事件,那么首先我们来看Move的操作。
detectAndScrollToSection = (e) =& {
var ev = e.nativeEvent.touches[0];
// 手指按下的时候需要修改颜色
this.refs.view.setNativeProps({
backgroundColor: 'rgba(0,0,0,0.3)'
let targetY = ev.pageY;
const {y, height} = this.
if (!y || targetY & y) {
let index = Math.floor((targetY - y) / height);
index = Math.min(index, this.props.sections.length - 1);
if (this.lastSelectedIndex !== index && index & this.props.sections.length) {
this.lastSelectedIndex =
this.onSectionSelect(this.props.sections[index], index, true);
this.setState({text: this.props.sections[index], isShow: true});
onSectionSelect(section, index, fromTouch) {
this.props.onSectionSelect && this.props.onSectionSelect(section, index);
if (!fromTouch) {
this.lastSelectedIndex =
从代码中我们可以知道,首先我们要对View的背景颜色进行改变,这样可以让我们知道已经选中了该View了,然后获取我们当前触摸点的坐标,在之前我们已经计算每个Text的高度,然后我们根据这些就可以计算出当前触摸点之下的是哪个分组了。最后通过
this.onSectionSelect(this.props.sections[index], index, true); this.setState({text: this.props.sections[index], isShow: true});
分别进行外部列表的通知和当前View的通知
然后我们来看手势抬起时候的操作
resetSection = () =& {
// 手指抬起来的时候需要变回去
this.refs.view.setNativeProps({
backgroundColor: 'transparent'
this.setState({isShow: false})
this.lastSelectedIndex =
this.props.onSectionUp && this.props.onSectionUp();
从代码之中我们可以知道,该方法主要是处理View背景的变化,以及抬起时候的一些通知。我们先看下整体的效果
接下来就是选择的一个提示了(类似于微信通讯录中间的弹窗通知)。首先我们创建我们需要的一个视图
pointerEvents='box-none'
style={styles.topView}&
{this.state.isShow ?
&View style={styles.modelView}&
&View style={styles.viewShow}&
&Text style={styles.textShow}&{this.state.text}&/Text&
&/View& : null
style={styles.container}
ref="view"
onStartShouldSetResponder={returnTrue}
onMoveShouldSetResponder={returnTrue}
onResponderGrant={this.detectAndScrollToSection}
onResponderMove={this.detectAndScrollToSection}
onResponderRelease={this.resetSection}&
{this._getSections()}
在这里我们要注意的是,由于我们的展示视图是在屏幕的中间位置,并且在Android上子视图超出父视图的部分无法显示(也就是设置left:-100这样的属性会让视图部分无法看见)。所以这里我们使用的包裹展示视图的父视图是全屏的,那么这个pointerEvents='box-none'就尤其重要,它可以保证当前视图不操作手势控制,而子视图可以操作。假如这边不设置的话,会导致SectionList无法滚动,因为被当前视图盖住了。具体的属性介绍可以查看RN官方文档对View属性的介绍
在上面的方法之中我们有需改state的值,这边就是来控制展示视图的显示隐藏的。我们来看下效果
3.3 列表的分组跳转
上面做到了列表的展示,接下来就是列表的分组跳转了,在RN的介绍文档上可以看到VirtualizedList(FlatList和SectionList都是对它的封装)有如下的方法
scrollToEnd(params?: object)
scrollToIndex(params: object)
scrollToItem(params: object)
scrollToOffset(params: object)
从名称上看就是对列表的滚动,然后找到FlatList,里面有更详细的介绍,这边我们使用的方法是scrollToIndex
scrollToIndex(params: object)
Scrolls to the item at a the specified index such that it is positioned in the viewable area such that viewPosition
0 places it at the top, 1 at the bottom, and 0.5 centered in the middle.
如果不设置getItemLayout属性的话,可能会比较卡。
那么从最后一句话我们知道在这里我们需要去设置getItemLayout属性,这样就可以告诉SectionList列表的高度以及每个项目的高度了
const ITEM_HEIGHT = 50; //item的高度
const HEADER_HEIGHT = 24;
//分组头部的高度
const SEPARATOR_HEIGHT = 0;
//分割线的高度
_getItemLayout(data, index) {
let [length, separator, header] = [ITEM_HEIGHT, SEPARATOR_HEIGHT, HEADER_HEIGHT];
return {length, offset: (length + separator) * index + header, index};
同时我们要注意的是在设置SectionList的renderItem和renderSectionHeader,也就是SectionList的分组内容和分组头部的组件的高度必须是我们上面给定计算时候的高度(这点很重要)
那么这个时候根据上面右侧头部展示组件给的回调的值(配合我们第一步得到的citySectionSize)就可以进行
对应的列表滚动了。
&View style={{paddingTop: Platform.OS === 'android' ? 0 : 20}}&
&SectionList
ref='list'
enableEmptySections
renderItem={this._renderItem}
renderSectionHeader={this._renderSectionHeader}
sections={this.state.data}
getItemLayout={this._getItemLayout}/&
&CitySectionList
sections={ this.state.sections}
onSectionSelect={this._onSectionselect}/&
//这边返回的是A,0这样的数据
_onSectionselect = (section, index) =& {
//跳转到某一项
this.refs.list.scrollToIndex({animated: true, index: this.state.sectionSize[index]})
但是假如仅仅只是这样的话,你会发现在使用的时候会报错,错误是找不到scrollToIndex方法。wtf??RN官方文档上明明有这个方法啊。然而其实FlatList对VirtualizedList封装的时候有添加这些方法,而SectionList并没有。那么,只能自己动手添加了,参照
FlatList里面的scrollToIndex方法,为SectionList添加对于的方法。
其中SectionList的路径为
node_modules/react-native/Libraries/Lists/SectionList.js,代码格式化后大概在187行的位置,修改如下
class SectionList&SectionT: SectionBase&any&&
extends React.PureComponent&DefaultProps, Props&SectionT&, void& {
props: Props&SectionT&;
static defaultProps: DefaultProps = defaultP
render() {
const List = this.props.legacyImplementation ? MetroListView : VirtualizedSectionL
return &List
ref={this._captureRef}
{...this.props} /&;
_captureRef = (ref) =& {
this._listRef =
scrollToIndex = (params: { animated?: ?boolean, index: number, viewPosition?: number }) =& {
this._listRef.scrollToIndex(params);
同时还需要修改VirtualizedSectionList的代码,路径在node_modules/react-native/Libraries/Lists/VirtualizedSectionList.js,大概253行处修改如下
render() {
return &VirtualizedList
ref={this._captureRef}
{...this.state.childProps} /&;
_captureRef = (ref) =& {
this._listRef =
scrollToIndex = (params: { animated?: ?boolean, index: number, viewPosition?: number }) =& {
this._listRef.scrollToIndex(params);
修改完毕,我们来看下效果ios和android平台下的效果如和
ios上的效果
android上的效果
从上面的效果上可以看出来ios上的效果比android上的效果要好,然后在ios上有分组悬停的效果而在andorid并没有,这是由于平台特性决定的。在手动滚动的时候白屏的时间较短,而在跳转的时候白屏的时间较长,但是相比与之前ListView时期的长列表的效果而言,要好太多了。也是期待RN以后的发展中对列表更好的改进吧。
在完成这个城市选择列表的时候主要参考了
最后附上项目地址:
注意要记得修改SectionList和VirtualizedSectionList的代码
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
用到的组件1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SDWebImage多个缩略图缓存组件 UICKeyChainStore存放用户账号密码组件 Reachability监测网络状态 DateTools友好...
用到的组件1、通过CocoaPods安装项目名称项目信息AFNetworking网络请求组件FMDB本地数据库组件SDWebImage多个缩略图缓存组件UICKeyChainStore存放用户账号密码组件Reachability监测网络状态DateTools友好化时间MBP...
内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新ViewPager图表(Chart)菜单(Menu)浮动菜单对话框空白页滑动删除手势操作RecyclerViewCardColorDrawableSpinner...
AFNetworking网络请求组件SDWebImage多个缩略图缓存组件FMDB本地数据库组件UICKeyChainStore存放用户账号密码组件Reachability监测网络状态DateTools友好化时间MBProgressHUD一款提示框第三方库MWPhotoBr...
各位领导的讲话,各位代表老师的讲话,各位同学的宣言。
每一句都深深印入脑海中,每一句话都戳到了心中,在百日誓师大会中,听着每个人的讲话,心中有种说不出的感觉,感觉我们即将中考,感觉我们即将毕业,感觉我们即将离开母校,心中的酸表现于脸上,同学们的气氛十分压抑,各自都说着...
怀揣着对南京的向往和遗憾,终于坐上了飞往南京的飞机?。激动,好久木有这种感觉,然而遗憾的是没有小伙伴一起拍照。只能自嗨,所以锻炼了自嗨,自言自语的毛病。 最终飞机降落了,然后,坐上南京的出名的交通工具,地铁。然而,尴尬的是,南京地铁居然只显示几块,当时一脸蒙逼,还好问了旁边...
昨天有幸成为班级秘书长,心里有一点小激动!感觉责任重大了好多!感谢大家的支持,我会努力做好的,事事做到带头的作用,}

我要回帖

更多关于 对方微信没有相册一栏 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信