Как спрятать картинку в android?

202
17 апреля 2018, 05:32

Дело такое: при запуске time-managera пустой список в начале. Нужно туда вставить картинку, которая бы пропадала как только мы что-то добавили. Отсюда и вопрос: как сначала показать картинку, а потом спрятать?

Answer 1

Нашёл сам ответ. Сначала нужно в layout сделать элементы, которые нам нужны.

<?xml version="1.0" encoding="utf-8"?>
   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"
      xmlns:tools="http://schemas.android.com/tools"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:background="@color/background">

<android.support.v7.widget.RecyclerView
    android:id="@+id/task_recycler_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/background"
    android:textAlignment="center" />
<ImageView
    android:id="@+id/imageEmptyViewFirst"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    app:srcCompat="@android:drawable/ic_menu_view"
    tools:layout_editor_absoluteX="176dp"
    tools:layout_editor_absoluteY="239dp" />
<TextView
    android:id="@+id/textEmptyViewFirst"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/imageEmptyViewFirst"
    android:layout_centerHorizontal="true"
    android:gravity="center"
    android:text="@string/empty_first"
    android:textColor="@color/text" />
<ImageView
    android:id="@+id/imageEmptyViewSecond"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_marginStart="16dp"
    android:layout_toEndOf="@+id/textEmptyViewFirst"
    app:srcCompat="@android:drawable/ic_menu_upload" />
<TextView
    android:id="@+id/textEmptyViewSecond"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignStart="@+id/textEmptyViewFirst"
    android:layout_below="@+id/imageEmptyViewSecond"
    android:layout_marginStart="34dp"
    android:gravity="center"
    android:text="@string/empty_second"
    android:textColor="@color/text" />

Затем в классе организовываем их подключение, получаем где-то ответ, что экран пустой и меняем просто setVisibility

public View onCreateView(LayoutInflater inflater, ViewGroup container,
                     Bundle savedInstanceState) {
 ...
View view = inflater.inflate(R.layout.fragment_task_list, container,
        false);
isEmptyImageFirst = view.findViewById(R.id.imageEmptyViewFirst);
isEmptyTextFirst = view.findViewById(R.id.textEmptyViewFirst);
isEmptyImageSecond = view.findViewById(R.id.imageEmptyViewSecond);
isEmptyTextSecond = view.findViewById(R.id.textEmptyViewSecond);
mTasksRecyclerView = (RecyclerView) view
        .findViewById(R.id.task_recycler_view);
mTasksRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
if (TaskLab.get(getActivity()).getTasks().size() > 0) {
    mTasksRecyclerView.setVisibility(View.VISIBLE);
    isEmptyImageFirst.setVisibility(View.GONE);
    isEmptyTextFirst.setVisibility(View.GONE);
    isEmptyImageSecond.setVisibility(View.GONE);
    isEmptyTextSecond.setVisibility(View.GONE);
}
else {
    mTasksRecyclerView.setVisibility(View.GONE);
    isEmptyImageFirst.setVisibility(View.VISIBLE);
    isEmptyTextFirst.setVisibility(View.VISIBLE);
    isEmptyImageSecond.setVisibility(View.VISIBLE);
    isEmptyTextSecond.setVisibility(View.VISIBLE);
}
...
    return view;
}

Скрин с телефона, что получилось. Как только список пополняется элементами - надписи становятся невидимыми.

READ ALSO
Запуск сайта на Spring MVC и tcp-сервера

Запуск сайта на Spring MVC и tcp-сервера

Пытаюсь запустить сервер для сайта на Spring MVC + простой tcp-сервер для общения с удаленными устройствамиНикак не могу запустить tcp-сервер при...

175
google translate android

google translate android

На сколько мне известно, google translate api - сам по себе платный

161
Обновляющаяся строка?

Обновляющаяся строка?

Как сделать обновляющуюся строку? Например есть код

133