Я работаю над приложением, использующим геолокацию, и хочу установить макет VISIBLE, когда он близок к точке и GONE, когда он слишком далеко от точки.Как сделать макет видимым/ушедшим?
Это мой XML:
<LinearLayout
android:visibility="gone"
android:id="@+id/slidePane"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
Затем я использую идентификатор в деятельности, как обычно: объявить его в атрибут класса:
private LinearLayout slidepane;
установить его в OnCreate() метод :
slidepane = (LinearLayout) findViewById(R.id.slidePane);
А потом я пытаюсь обновить его в onLocationChanged()
методом, Ф.О. llows:
if (InterestPoint.CalculationByDistance(location, new LatLng(47.247801, -1.551883)) < 0.03) {
Toast.makeText(MainActivity.mContext, "InterestPoint close", Toast.LENGTH_SHORT).show();
slidepane.setVisibility(View.VISIBLE);
} else {
slidepane.setVisibility(View.GONE);
}
Так что условие является правильным, так как Toast
появляется, но расположение не становится видно, почему?
спасибо.
EDIT: Я использую https://github.com/umano/AndroidSlidingUpPanel и пытаюсь установить видимость второго ребенка (раздвижной панели). Я ничего не видел в документации о видимости. Я все еще могу получить доступ к дочерним элементам LinearLayout, но не к самому контейнеру (и особенно к видимости).
Первое, что я хотел бы сделать, это обеспечить отображение на самом деле в целом. Иногда их можно сдвинуть с экрана или за другим видом. – DeeV
Если вы видите видимость, видимую в xml, можете ли вы ее увидеть? – lelloman
Да, если я не укажу, что «ушла» видимость, она полностью видима и функциональна. – Axl