【发布时间】:2013-01-24 12:02:35
【问题描述】:
我正在尝试从以下answer 创建Facebook 之类的slider,我想在运行时更改地图宽度。
我在 bindComponent 方法中尝试过,但它对我不起作用..
map.xml
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
class="com.google.android.gms.maps.SupportMapFragment" />
活动
public class MapActivity extends FragmentActivity implements
OnClickListener {
private ImageView mSlider;
LinearLayout.LayoutParams mapViewParameters;
GoogleMap gMap;
SupportMapFragment supportMap;
private DisplayMetrics metrics;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.slider);
bindComponents();
}
private void bindComponents() {
// TODO Auto-generated method stub
supportMap = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.mapView);
metrics = new DisplayMetrics();
mapViewParameters = (LinearLayout.LayoutParams) findViewById(
R.id.mapView).getLayoutParams();
mapViewParameters.width = metrics.widthPixels;
findViewById(R.id.mapView).setLayoutParams(mapViewParameters);
// Map
gMap = supportMap.getMap();
gMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
mSlider = (ImageView) findViewById(R.id.msliderImage);
}
}
任何帮助将不胜感激。
【问题讨论】:
-
据我所知,问题与调整地图宽度的 bindComponents() 有关