Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Mail-up
30 / 28 / 8
Регистрация: 07.01.2017
Сообщений: 205
1

Map activity zoom button сделать сверху

24.05.2017, 14:59. Просмотров 224. Ответов 2
Метки нет (Все метки)

Собственно есть MapActivity с картой, к ней прикрутил BpttomSheet появилась необходимость либо передвинуть кнопки зума карты и прочее снизу ато закрывается BottmSht либо как то решить проблему потому что BottomSheet накладывается и закрывает слегка нижнюю часть



XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/cl_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.">
 
 
    <!-- подключение основного контента -->
    <include
        layout="@layout/activity_map" />
 
    <!-- подключение нижнего экрана -->
    <include
        layout="@layout/bottom_sheet" />
 
 
 
 
</android.support.design.widget.CoordinatorLayout>
собственно активити мэп

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.>
 
    <include
        android:id="@+id/toolbar_av_2"
        layout="@layout/toolbar_av_2" />
 
 
    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MapActivity" />
</LinearLayout>
и сам боттом щит

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/bottom_sheet"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/whiteColor"
    android:orientation="vertical"
    app:behavior_hideable="false"
    app:behavior_peekHeight="80dp"
    app:layout_behavior="android.support.design.widget.BottomSheetBehavior">
 
    <TextView
        android:id="@+id/bottomText_1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/textState"
        android:drawableBottom="@drawable/up_arrow"
        android:drawablePadding="4dp"
        android:gravity="center"
        android:padding="10dp"
        android:text="@string/more"
        android:textAllCaps="true"
        android:textColor="@color/tabSlider"
        android:textSize="14sp" />
 
    <TextView
        android:id="@+id/textBottomSheet"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:autoLink="phone"
        android:gravity="center"
        android:lineSpacingExtra="8sp"
        android:padding="6dp"
        android:textColor="@android:color/black"
        android:textColorLink="@color/colorSearch"
        android:textSize="18sp" />
 
</LinearLayout>

Ну и вот код активити

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
public class MapActivity extends AppCompatActivity implements OnMapReadyCallback, View.OnClickListener {
 
    private GoogleMap mMap;
    private Toolbar toolbar;
    private TextView textBottomSheet;
    private TextView bottomText_1;
    private BottomSheetBehavior mBottomSheetBehavior;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.bottom_map);
        toolbar = (Toolbar) findViewById(R.id.toolbar_av_2);
        View bottomSheet = findViewById( R.id.bottom_sheet );
        setSupportActionBar(toolbar);
        textBottomSheet = (TextView)findViewById(R.id.textBottomSheet);
        bottomText_1 = (TextView)findViewById(R.id.bottomText_1);
 
        mBottomSheetBehavior = BottomSheetBehavior.from(bottomSheet);
        if (getSupportActionBar() != null) {
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            getSupportActionBar().setDisplayShowHomeEnabled(true);
        }
       // checkReady();
 
        toolbar.setTitleTextColor(Color.parseColor("#FFFFFF"));
        getSupportActionBar().setTitle("Карта");
 
        final Drawable upArrow =  ContextCompat.getDrawable(this, R.drawable.ic_menu_arrow);
        upArrow.setColorFilter(Color.parseColor("#FFFFFF"), PorterDuff.Mode.SRC_ATOP);
        getSupportActionBar().setHomeAsUpIndicator(upArrow);
        SupportMapFragment mapFragment =
                (SupportMapFragment) getSupportFragmentManager()
                        .findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);
 
        Bundle bundle = getIntent().getExtras();
        String position = bundle.getString("pos4");
        textBottomSheet.setText(position);
        bottomText_1.setOnClickListener(this);
    }
 
    @Override
    public void onMapReady(final GoogleMap googleMap) {
        mMap = googleMap;
 
       //начальная позиция
 
        final Bundle bundle = getIntent().getExtras();
        final String markerTitle = bundle.getString("pos0");
        Double lat = bundle.getDouble("pos1");
        Double latt = bundle.getDouble("pos2");
        final String markerText = bundle.getString("pos3");
        final LatLng position = new LatLng(latt, lat);
 
        assert markerText != null;
        mMap.addMarker(new MarkerOptions().position(position)
                .title(markerTitle)
                .snippet(markerText)
                .icon(BitmapDescriptorFactory
                .defaultMarker(BitmapDescriptorFactory.HUE_ORANGE)))
                .showInfoWindow();
 
        // zoom to position with level 16
        CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(position, 15);
       // googleMap.animateCamera(cameraUpdate);
        googleMap.moveCamera(cameraUpdate);
        googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
        //zoom
        googleMap.getUiSettings().setZoomControlsEnabled(true);
 
        googleMap.getUiSettings().setMapToolbarEnabled(true);
 
 
        googleMap.getUiSettings().setCompassEnabled(true);
    }
 
   // private boolean checkReady() {
    //    if (mMap == null) {
     //       Toast.makeText(this, R.string.map_not_ready, Toast.LENGTH_SHORT).show();
     //       return false;
     //   }
    //    return true;
  //  }
 
 
    @Override
    public boolean onSupportNavigateUp() {
        onBackPressed();
        this.finish();
        return true;
    }
 
    @Override
    public void onBackPressed() {
        this.finish();
        overridePendingTransition(R.anim.close,R.anim.closein);
    }
 
 
    @Override
    public void onClick(View v) {
        if (mBottomSheetBehavior.getState() == BottomSheetBehavior.STATE_COLLAPSED) {
            mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
 
        } else {
            mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
        }
      //  mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
    }
Добавлено через 38 минут
из того что придумал
поменял app:behavior_hideable="false" на true
и закостылил таким способом на кнопку назад, что бы было видно

Java
1
2
3
4
5
6
7
8
9
10
 @Override
    public void onBackPressed() {
        if (mBottomSheetBehavior.getState() == BottomSheetBehavior.STATE_HIDDEN) {
            mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
        } else {
            this.finish();
            overridePendingTransition(R.anim.close,R.anim.closein);
        }
 
    }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2017, 14:59
Ответы с готовыми решениями:

Как сделать навигацию снизу и сверху?
Всем привет) Подскажите плиз) Как сделать навигацию снизу и сверху в андроиде...

Как сделать такое activity?
Добрый день. Для начала по прошу держать свои камни при себе да бы они не...

Приложение зависает, если свернуть и развернуть Activity или перейти на другую Activity
У меня в параллельном потоке происходит куча apply() Решение использовать...

Android - Передача данных с одного Activity на другое Activity
Здравствуйте , возникла необходимость получения числовых (int и float ну или...

Как из одного Activity перенести фотку в другое Activity?
Собственно необходимо отобразить фотографию в activity2, которую загрузили в...

2
Mail-up
30 / 28 / 8
Регистрация: 07.01.2017
Сообщений: 205
26.05.2017, 16:55  [ТС] 2
В общем сам спросил и сам отвечу
то , что было нужно
mMap.setPadding(0,0,0,300);
отступ элементов ( право лево верх низ_)
0
vxg
Модератор
3278 / 2075 / 327
Регистрация: 13.01.2012
Сообщений: 8,055
27.05.2017, 07:46 3
Mail-up, да, это один из вариантов, хотя лучше правильно смасштабировать карту средствами разметки если у вас ее потом сверху ничего не заслоняет
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2017, 07:46

Изменение layout-элементов одного activity из другого activity
Здравствуйте! Я хочу изменить размер или цвет текста TextView в одном...

Как в Navigation Drawer Activity засунуть Activity?
Здравствуйте! у меня такая проблема navigation drawer activity работает только...

Из одной Activity запустить функцию другой Activity
например есть Activity2 которое я показываю в Dialog окошке, там у меня...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru