线路规划布局整合完成

POI搜索继续加强中
This commit is contained in:
Gan Yi.ang 2014-05-19 21:38:13 +08:00
parent 284940c242
commit 8664b2ead6
14 changed files with 812 additions and 4 deletions

View File

@ -0,0 +1,9 @@
<component name="libraryTable">
<library name="TestinApm_sdk_2014">
<CLASSES>
<root url="jar://$PROJECT_DIR$/app/libs/TestinApm_sdk_2014.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@ -73,6 +73,7 @@
<orderEntry type="library" exported="" name="appcompat-v7-19.1.0" level="project" />
<orderEntry type="library" exported="" name="baidumapapi_v2_4_1" level="project" />
<orderEntry type="library" exported="" name="support-v4-19.1.0" level="project" />
<orderEntry type="library" exported="" name="TestinApm_sdk_2014" level="project" />
<orderEntry type="library" exported="" name="locSDK_3.1" level="project" />
</component>
</module>

View File

@ -24,4 +24,5 @@ dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile files('libs/baidumapapi_v2_4_1.jar')
compile files('libs/locSDK_3.1.jar')
compile files('libs/TestinApm_sdk_2014.jar')
}

Binary file not shown.

View File

@ -46,6 +46,13 @@
android:screenOrientation="portrait" >
</activity>
<activity
android:name=".SearchActivity"
android:configChanges="keyboardHidden|orientation"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Dialog" >
</activity>
<service
android:name="com.baidu.location.f"
android:enabled="true"

View File

@ -16,6 +16,8 @@ import android.support.v4.widget.DrawerLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.testin.commplatform.TestinAgent;
public class MainActivity extends ActionBarActivity
implements NavigationDrawerFragment.NavigationDrawerCallbacks {
@ -28,6 +30,9 @@ public class MainActivity extends ActionBarActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
/* Testin云测试崩溃信息反馈
TestinAgent.onError(getApplicationContext());
TestinAgent.postBaseData(getApplicationContext());*/
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mNavigationDrawerFragment = (NavigationDrawerFragment)

View File

@ -346,7 +346,7 @@ public class POIDetailActivity extends Activity implements LocationListener,View
i.putExtra("city", currentMsg.getString("city", ""));// 当前城市
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
//finish(); 是否该结束
//finish(); TODO 是否该结束
}
};

View File

@ -163,7 +163,7 @@ public class POIMapActivity extends Activity implements View.OnClickListener {
@Override
public void onGetTransitRouteResult(MKTransitRouteResult mkTransitRouteResult, int i) {
}
//原版的 int iint i2太坑看不懂
//API中的int iint i2太坑看不懂
public void onGetPoiResult(MKPoiResult res, int type, int error) {
if (error != 0 || res == null) {
@ -284,12 +284,12 @@ public class POIMapActivity extends Activity implements View.OnClickListener {
}
case R.id.searchRoute: {
// TODO 线路规划 搜索
/* i = new Intent(POIMapActivity.this, SearchDialogActivity.class);
i = new Intent(POIMapActivity.this, SearchActivity.class);
i.putExtra("flag", "");
i.putExtra("startOrendDialogFlag", "");
i.putExtra("map", "");
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);*/
startActivity(i);
break;
}
case R.id.searchPoi: {

View File

@ -0,0 +1,641 @@
package org.by.lbs.app;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
/**
* Created by Administrator on 2014/5/19.
*/
public class SearchActivity extends Activity implements OnClickListener {
private Button swap;
private Button setStartOrEnd;
private Button setEndOrStart;
private Button bus;
private Button route;
private Button walk;
private Button searchRoute;
private EditText startOrEnd;
private EditText endOrStart;
private String find_the_way = "";// 搜索方式
private String start = "";
private String end = "";
private Intent intent;
String dialogFlag = "";// 设置弹出Dialog的标识
String startOrendDialogFlag = "";// 设置起/终点标识
private Window mWindow;
String drivingPolicy = "";// 搜索策略
AlertDialog dialog;
String startOrendFlag = "";
// 地图上的第一个点
int pickPointLat;
int pickPointLon;
String pickPointCompleteAdd = null;
// 地图上的第二个点
int latSecend;
int lonSecend;
String completeAddSecend;
String map;// 是否是在地图上选取的点的标识
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mWindow = getWindow();
mWindow.requestFeature(Window.FEATURE_NO_TITLE);
mWindow.setGravity(Gravity.TOP);
setContentView(R.layout.routedialog);
findViews();
}
public void findViews() {
swap = (Button) findViewById(R.id.swap);
swap.setText(R.string.route_dialog_swap);
setStartOrEnd = (Button) findViewById(R.id.setStartOrEnd);
setStartOrEnd.setText(R.string.route_dialog_set_start);
setEndOrStart = (Button) findViewById(R.id.setEndOrStart);
setEndOrStart.setText(R.string.route_dialog_set_end);
bus = (Button) findViewById(R.id.bus);
bus.setText(R.string.route_dialog_transit);
route = (Button) findViewById(R.id.route);
route.setText(R.string.route_dialog_driving);
walk = (Button) findViewById(R.id.walk);
walk.setText(R.string.route_dialog_walk);
searchRoute = (Button) findViewById(R.id.searchRoute);
searchRoute.setText(R.string.search);
startOrEnd = (EditText) findViewById(R.id.startOrend);
endOrStart = (EditText) findViewById(R.id.endOrstart);
bus.setClickable(true);
swap.setOnClickListener(this);
setStartOrEnd.setOnClickListener(this);
setEndOrStart.setOnClickListener(this);
bus.setOnClickListener(this);
route.setOnClickListener(this);
walk.setOnClickListener(this);
searchRoute.setOnClickListener(this);
}
@Override
protected void onStart() {
Bundle bundle = getIntent().getExtras();
if (bundle.containsKey("flag")) {
dialogFlag = bundle.getString("flag");
}
if (bundle.containsKey("startOrendDialogFlag")) {
startOrendDialogFlag = bundle.getString("startOrendDialogFlag");
}
if (bundle.containsKey("map")) {
map = bundle.getString("map");
}
// 第一个地图上的点
if (bundle.containsKey("lat")) {
pickPointLat = bundle.getInt("lat");
}
if (bundle.containsKey("lon")) {
pickPointLon = bundle.getInt("lon");
}
if (bundle.containsKey("completeAdd")) {
pickPointCompleteAdd = bundle.getString("completeAdd");
}
// 第二个地图上的点
if (bundle.containsKey("secendLat")) {
latSecend = bundle.getInt("secendLat");
}
if (bundle.containsKey("secendLon")) {
lonSecend = bundle.getInt("secendLon");
}
if (bundle.containsKey("secendCompleteAdd")) {
completeAddSecend = bundle.getString("secendCompleteAdd");
}
if (dialogFlag.equals("")) {
startOrEnd.setHint(getResources().getString(R.string.menu_my_loc));
startOrEnd.setHintTextColor(Color.BLUE);
endOrStart.setHint(getResources().getString(
R.string.route_dialog_edit_end));
endOrStart.setHintTextColor(null);
} else if (dialogFlag.equals("pick")) {
if (startOrendDialogFlag.equals("start")) {
startOrEnd.setHint(getResources().getString(
R.string.route_dialog_map));
startOrEnd.setHintTextColor(Color.BLUE);
if (map.equals("map")) {
endOrStart.setHint(getResources().getString(
R.string.route_dialog_map));
endOrStart.setHintTextColor(Color.BLUE);
} else if (map.equals("myLoc")) {
endOrStart.setHint(getResources().getString(
R.string.menu_my_loc));
endOrStart.setHintTextColor(Color.BLUE);
} else {
endOrStart.setHint(getResources().getString(
R.string.route_dialog_edit_end));
endOrStart.setHintTextColor(null);
}
} else if (startOrendDialogFlag.equals("end")) {
endOrStart.setHint(getResources().getString(
R.string.route_dialog_map));
endOrStart.setHintTextColor(Color.BLUE);
if (map.equals("map")) {
startOrEnd.setHint(getResources().getString(
R.string.route_dialog_map));
startOrEnd.setHintTextColor(Color.BLUE);
} else if (map.equals("myLoc")) {
startOrEnd.setHint(getResources().getString(
R.string.menu_my_loc));
startOrEnd.setHintTextColor(Color.BLUE);
} else {
startOrEnd.setHint(getResources().getString(
R.string.route_dialog_edit_start));
startOrEnd.setHintTextColor(null);
}
}
}
super.onStart();
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.swap: {
// 标识互换
if (startOrEnd.getHint().equals(
getResources().getString(R.string.menu_my_loc))
&& endOrStart.getHint().equals(
getResources().getString(
R.string.route_dialog_edit_end))) {
startOrEnd.setHint(getResources().getString(
R.string.route_dialog_edit_start));
endOrStart.setHint(getResources().getString(
R.string.menu_my_loc));
endOrStart.setSelectAllOnFocus(true);
startOrEnd.setHintTextColor(null);
endOrStart.setHintTextColor(Color.BLUE);
} else if (startOrEnd.getHint().equals(
getResources().getString(R.string.route_dialog_edit_start))
&& endOrStart.getHint().equals(
getResources().getString(R.string.menu_my_loc))) {
startOrEnd.setHint(getResources().getString(
R.string.menu_my_loc));
startOrEnd.setSelectAllOnFocus(true);
startOrEnd.setHintTextColor(Color.BLUE);
endOrStart.setHint(getResources().getString(
R.string.route_dialog_edit_end));
endOrStart.setHintTextColor(null);
} else if (startOrEnd.getHint().equals(
getResources().getString(R.string.route_dialog_map))
&& endOrStart.getHint().equals(
getResources().getString(R.string.menu_my_loc))) {
startOrEnd.setHint(getResources().getString(
R.string.menu_my_loc));
startOrEnd.setSelectAllOnFocus(true);
startOrEnd.setHintTextColor(Color.BLUE);
endOrStart.setHint(getResources().getString(
R.string.route_dialog_map));
endOrStart.setHintTextColor(Color.BLUE);
} else if (startOrEnd.getHint().equals(
getResources().getString(R.string.menu_my_loc))
&& endOrStart.getHint()
.equals(getResources().getString(
R.string.route_dialog_map))) {
startOrEnd.setHint(getResources().getString(
R.string.route_dialog_map));
startOrEnd.setSelectAllOnFocus(true);
startOrEnd.setHintTextColor(Color.BLUE);
endOrStart.setHint(getResources().getString(
R.string.menu_my_loc));
endOrStart.setHintTextColor(Color.BLUE);
} else if (startOrEnd.getHint().equals(
getResources().getString(R.string.route_dialog_map))
&& endOrStart.getHint().equals(
getResources().getString(
R.string.route_dialog_edit_end))) {
startOrEnd.setHint(getResources().getString(
R.string.route_dialog_edit_start));
startOrEnd.requestFocus();
startOrEnd.setSelectAllOnFocus(true);
startOrEnd.setHintTextColor(null);
endOrStart.setHint(getResources().getString(
R.string.route_dialog_map));
endOrStart.setHintTextColor(Color.BLUE);
} else if (startOrEnd.getHint().equals(
getResources().getString(R.string.route_dialog_edit_start))
&& endOrStart.getHint()
.equals(getResources().getString(
R.string.route_dialog_map))) {
startOrEnd.setHint(getResources().getString(
R.string.route_dialog_map));
startOrEnd.setSelectAllOnFocus(true);
startOrEnd.setHintTextColor(Color.BLUE);
endOrStart.setHint(getResources().getString(
R.string.route_dialog_edit_end));
endOrStart.requestFocus();
endOrStart.setHintTextColor(null);
}
break;
}
case R.id.setStartOrEnd: {
startOrendFlag = "start";
createSetDialog(startOrendFlag);
break;
}
case R.id.setEndOrStart: {
startOrendFlag = "end";
createSetDialog(startOrendFlag);
break;
}
case R.id.bus: {
find_the_way = "bus";
bus.setTextColor(0xffffffff);
route.setTextColor(0xff000000);
walk.setTextColor(0xff000000);
createDialog("bus");
break;
}
case R.id.route: {
find_the_way = "route";
bus.setTextColor(0xff000000);
route.setTextColor(0xffffffff);
walk.setTextColor(0xff000000);
createDialog("route");
break;
}
case R.id.walk: {
find_the_way = "walk";
bus.setTextColor(0xff000000);
route.setTextColor(0xff000000);
walk.setTextColor(0xffffffff);
break;
}
case R.id.searchRoute: {
// 传递参数
if (startOrEnd.getHint().equals(
getResources().getString(R.string.menu_my_loc))// 起点是我的位置终点自定义
&& ("").equals(startOrEnd.getText().toString())
&& !("").equals(endOrStart.getText().toString())) {
end = endOrStart.getText().toString();
start = "";
} else if (endOrStart.getHint().equals(
getResources().getString(R.string.menu_my_loc))// 起点自定义终点是我的位置
&& ("").equals(endOrStart.getText().toString())
&& !("").equals(startOrEnd.getText().toString())) {
start = startOrEnd.getText().toString();
end = "";
} else if (endOrStart.getHint().equals(
getResources().getString(R.string.menu_my_loc))// 起点是地图上的点终点是我的位置
&& ("").equals(endOrStart.getText().toString())
&& ("").equals(startOrEnd.getText().toString())
&& startOrEnd.getHint()
.equals(getResources().getString(
R.string.route_dialog_map))) {
start = "pick";
end = "myLoc";
} else if (startOrEnd.getHint().equals(
getResources().getString(R.string.menu_my_loc))// 起点是我的位置终点是地图上的点
&& ("").equals(endOrStart.getText().toString())
&& ("").equals(startOrEnd.getText().toString())
&& endOrStart.getHint()
.equals(getResources().getString(
R.string.route_dialog_map))) {
start = "myLoc";
end = "pick";
} else if (!("").equals(startOrEnd.getText().toString())// 起点自定义终点是地图上的点
&& ("").equals(endOrStart.getText().toString())
&& endOrStart.getHint()
.equals(getResources().getString(
R.string.route_dialog_map))) {
start = startOrEnd.getText().toString();
end = "pick";
} else if (!("").equals(endOrStart.getText().toString())// 起点是地图上的点终点自定义
&& ("").equals(startOrEnd.getText().toString())
&& startOrEnd.getHint()
.equals(getResources().getString(
R.string.route_dialog_map))) {
end = endOrStart.getText().toString();
start = "pick";
} else if (endOrStart.getHint().equals(
getResources().getString(R.string.route_dialog_map))
&& ("").equals(endOrStart.getText().toString())// 起点是地图上的点终点是地图上的点
&& startOrEnd.getHint()
.equals(getResources().getString(
R.string.route_dialog_map))
&& ("").equals(startOrEnd.getText().toString())) {
end = "pick";
start = "pick";
} else {// /终点均自定义
start = startOrEnd.getText().toString();
end = endOrStart.getText().toString();
}
if ("".equals(find_the_way)) {
Toast.makeText(SearchActivity.this, R.string.policy_tip,
Toast.LENGTH_SHORT).show();
} else {
// TODO: ##################################
/* intent = new Intent(SearchActivity.this, RouteActivity.class);
if (bus.isClickable() == false && route.isClickable() == false
&& walk.isClickable() == false) {
intent.putExtra("find_the_way", "bus");
}*/
// 方式的选择
if (("bus").equals(find_the_way)) {
intent.putExtra("find_the_way", "bus");
intent.putExtra("drivingPolicy", drivingPolicy);
} else if ("route".equals(find_the_way)) {
intent.putExtra("find_the_way", "route");
intent.putExtra("drivingPolicy", drivingPolicy);
} else if ("walk".equals(find_the_way)) {
intent.putExtra("find_the_way", "walk");
}
if (dialogFlag.equals("pick")) {
if (map.equals("myLoc") || map.equals("")) {
intent.putExtra("pickLat", pickPointLat);
intent.putExtra("pickLon", pickPointLon);
intent.putExtra("pick", "pick");
intent.putExtra("map", map);
intent.putExtra("completeAdd", pickPointCompleteAdd);
} else if (map.equals("map")) {
intent.putExtra("pickLat", pickPointLat);
intent.putExtra("pickLon", pickPointLon);
intent.putExtra("pick", "pick");
intent.putExtra("completeAdd", pickPointCompleteAdd);
intent.putExtra("pickSecendLat", latSecend);
intent.putExtra("pickSecendLon", lonSecend);
intent.putExtra("map", map);
intent.putExtra("completeAddSecend", completeAddSecend);
}
}
if (("").equals(start) && ("").equals(end)) {
Toast.makeText(SearchActivity.this,
R.string.route_dialog_edit_tip, Toast.LENGTH_LONG)
.show();
} else {
intent.putExtra("start", start);
intent.putExtra("end", end);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
SearchActivity.this.startActivity(intent);
}
}
break;
}
default:
break;
}
}
public void createSetDialog(final String flag) {
String dialogTitle = null;
if (flag.equals("start")) {
dialogTitle = getResources().getString(
R.string.route_dialog_set_start);
} else if (flag.equals("end")) {
dialogTitle = getResources().getString(
R.string.route_dialog_edit_end);
}
String[] items = { getResources().getString(R.string.menu_my_loc),
getResources().getString(R.string.poi_type_map) };
AlertDialog dialog = new AlertDialog.Builder(SearchActivity.this)
.setTitle(dialogTitle)
.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case 0: {
if (flag.equals("start")) {
startOrEnd.setHint(getResources().getString(
R.string.menu_my_loc));
startOrEnd.setHintTextColor(Color.BLUE);
startOrEnd.setSelectAllOnFocus(true);
if (endOrStart.getHint().equals(
getResources().getString(
R.string.route_dialog_map))) {
endOrStart.setHint(getResources()
.getString(
R.string.route_dialog_map));
endOrStart.setHintTextColor(Color.BLUE);
} else {
endOrStart.requestFocus();
endOrStart
.setHint(getResources()
.getString(
R.string.route_dialog_edit_end));
endOrStart.setHintTextColor(null);
}
} else if (flag.equals("end")) {
endOrStart.setHint(getResources().getString(
R.string.menu_my_loc));
endOrStart.setHintTextColor(Color.BLUE);
endOrStart.setSelectAllOnFocus(true);
if (startOrEnd.getHint().equals(
getResources().getString(
R.string.route_dialog_map))) {
startOrEnd.setHint(getResources()
.getString(
R.string.route_dialog_map));
startOrEnd.setHintTextColor(Color.BLUE);
} else {
startOrEnd.requestFocus();
startOrEnd
.setHint(getResources()
.getString(
R.string.route_dialog_edit_start));
startOrEnd.setHintTextColor(null);
}
}
break;
}
case 1: {
// TODO ####################################
/* if (dialogFlag.equals("pick")) {// 获取地图上第二个点
intent = new Intent(SearchActivity.this,
PickSecendMapActivity.class);
} else {// 获取地图上第一个点
intent = new Intent(SearchActivity.this,
PickupMapActivity.class);
}*/
if (startOrEnd.getHint().equals(
getResources().getString(
R.string.route_dialog_map))
&& startOrendFlag.equals("end")
|| endOrStart.getHint().equals(
getResources().getString(
R.string.route_dialog_map))
&& startOrendFlag.equals("start")) {
intent.putExtra("flag", startOrendFlag);
intent.putExtra("mapFlag", "map");
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
SearchActivity.this.startActivity(intent);
} else if (startOrEnd.getHint().equals(
getResources().getString(
R.string.menu_my_loc))
&& startOrendFlag.equals("end")
|| endOrStart.getHint().equals(
getResources().getString(
R.string.menu_my_loc))
&& startOrendFlag.equals("start")) {
intent.putExtra("flag", startOrendFlag);
intent.putExtra("mapFlag", "myLoc");
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
SearchActivity.this.startActivity(intent);
} else {
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("flag", startOrendFlag);
SearchActivity.this.startActivity(intent);
}
break;
}
default:
break;
}
}
}).create();
dialog.show();
}
public void createDialog(String flag) {
String dialogTitle = null;
LayoutInflater lay = (LayoutInflater) SearchActivity.this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = lay.inflate(R.layout.route_bus_spinner, null);
if (flag.equals("bus")) {
dialogTitle = getResources().getString(R.string.set_transitpolicy);
} else if (flag.equals("route")) {
dialogTitle = getResources().getString(R.string.set_drivingpolicy);
}
dialog = new AlertDialog.Builder(SearchActivity.this)
.setTitle(dialogTitle)
.setView(v)
.setPositiveButton(R.string.ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogfer,
int which) {
if (dialog != null && dialog.isShowing()) {
dialog.dismiss();
}
}
}).create();
dialog.show();
final Spinner bus_spinner = (Spinner) v.findViewById(R.id.bus_spinner);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
SearchActivity.this, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
adapter.add(getResources().getString(R.string.policy_EBUS_TIME_FIRST));
if (flag.equals("bus")) {
adapter.add(getResources().getString(
R.string.policy_EBUS_TRANSFER_FIRST));
adapter.add(getResources().getString(
R.string.policy_EBUS_WALK_FIRST));
adapter.add(getResources()
.getString(R.string.policy_EBUS_NO_SUBWAY));
} else if (flag.equals("route")) {
adapter.add(getResources()
.getString(R.string.policy_ECAR_DIS_FIRST));
adapter.add(getResources()
.getString(R.string.policy_ECAR_FEE_FIRST));
}
bus_spinner.setAdapter(adapter);
bus_spinner.setSelection(0);
bus_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
drivingPolicy = bus_spinner.getItemAtPosition(arg2).toString();
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_background1" android:state_pressed="true"/>
<item android:drawable="@drawable/button_background1" android:state_enabled="true" android:state_focused="true"/>
<item android:drawable="@drawable/button_background" android:state_enabled="true"/>
</selector>

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Spinner
android:id="@+id/bus_spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>

View File

@ -0,0 +1,124 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#B4E1F0"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/swap"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="5"
android:background="@drawable/button_background"
android:text="交换" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal" >
<EditText
android:layout_marginTop="3dip"
android:id="@+id/startOrend"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
/>
<Button
android:id="@+id/setStartOrEnd"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="3.5"
android:background="@drawable/selector_button_ontouch"
android:text="起点设置" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal" >
<EditText
android:id="@+id/endOrstart"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
/>
<Button
android:id="@+id/setEndOrStart"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="3.5"
android:background="@drawable/selector_button_ontouch"
android:text="终点设置" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal" >
<Button
android:id="@+id/bus"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/selector_button_ontouch"
android:text="公交" />
<Button
android:id="@+id/route"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/selector_button_ontouch"
android:text="乘车" />
<Button
android:id="@+id/walk"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/selector_button_ontouch"
android:text="步行" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="2" >
<Button
android:id="@+id/searchRoute"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/selector_button_ontouch"
android:text="搜索" />
</LinearLayout>
</LinearLayout>
</LinearLayout>