<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/poi_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:baselineAligned="false" android:orientation="horizontal"> <RelativeLayout android:id="@+id/poi_list_container" android:layout_width="@dimen/search_relativelayout" android:layout_height="match_parent" android:background="@drawable/bg_list_circular" android:visibility="gone"> <ListView android:id="@+id/poi_list" android:layout_width="match_parent" android:layout_height="match_parent" android:hardwareAccelerated="true" android:scrollbars="none" /> </RelativeLayout> <!-- <RelativeLayout--> <!-- android:layout_width="0dp"--> <!-- android:layout_height="match_parent"--> <!-- android:layout_weight="3">--> <com.baidu.mapapi.map.MapView android:id="@+id/bmapView" android:layout_width="match_parent" android:layout_height="match_parent" android:clickable="true" android:focusable="true" android:hardwareAccelerated="true" /> </LinearLayout> 这是我的layout布局,看看层级正确不正确,你说RelativeLayout应该在mapview的下方,那我要的效果是RelativeLayout包裹的listview要显示在页面左侧
时间: 2023-07-19 13:47:51 浏览: 143
Android中的ViewPager视图滑动切换类的入门实例教程
根据您提供的布局代码,RelativeLayout确实在mapview的下方,这是正确的。
为了解决黑屏闪烁问题,您可以尝试使用动画来移动mapview,而不是直接更改其位置。例如,您可以使用TranslateAnimation对mapview进行动画操作,然后在动画结束后再改变mapview的位置。
以下是示例代码:
```
TranslateAnimation anim = new TranslateAnimation(0, mapview.getWidth(), 0, 0);
anim.setDuration(500);
anim.setFillAfter(true);
mapview.startAnimation(anim);
anim.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {}
@Override
public void onAnimationEnd(Animation animation) {
// 动画结束后,改变mapview的位置
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) mapview.getLayoutParams();
params.leftMargin = mapview.getLeft() + mapview.getWidth();
mapview.setLayoutParams(params);
}
@Override
public void onAnimationRepeat(Animation animation) {}
});
```
在动画结束后,您可以通过更改mapview的布局参数来改变其位置。这样可以避免直接更改mapview位置时可能导致的视图重叠和绘制问题,从而减少黑屏闪烁的可能性。
阅读全文