Я пытаюсь показать пользовательские закусочной, как в этом примере:Пользовательские Snackbar не работает должным образом
how to customize snackBar's layout?
Это мой собственный код для создания закусочной:
protected void showSnackBar(View view) {
Snackbar snackbar = Snackbar.make(view, "", Snackbar.LENGTH_INDEFINITE);
Snackbar.SnackbarLayout layout = (Snackbar.SnackbarLayout) snackbar.getView();
TextView textView = (TextView) layout.findViewById(android.support.design.R.id.snackbar_text);
textView.setVisibility(View.INVISIBLE);
LayoutInflater inflater = LayoutInflater.from(this);
View snackView = inflater.inflate(R.layout.custom_snackbar, null);
layout.addView(snackView, 0);
ViewGroup group = (ViewGroup) snackbar.getView();
group.setBackgroundColor(ContextCompat.getColor(this, R.color.green_wasabi));
snackbar.show();
}
Моя цель состоит в том, чтобы метод в моей базовой деятельности вызывал любую другую деятельность.
Но моя проблема в том, когда я показываю закусочной, что показано под клавиатурой:
Кроме того, он не показывает весь вид макета:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/relativelayout_sync_schedule_runs"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:padding="10dp"
android:background="@color/green_wasabi"
android:layout_alignParentBottom="true"
android:layout_gravity="center_horizontal|bottom">
<ProgressBar
android:id="@+id/progressbar_infinite"
android:layout_width="30dp"
android:layout_height="30dp"
style="@android:style/Widget.Material.ProgressBar.Small"
android:layout_centerVertical="true"
android:layout_marginRight="15dp"
android:layout_toLeftOf="@+id/textview_sync_runs"
android:layout_toStartOf="@+id/textview_sync_runs" />
<com.runator.ui.widget.text.CustomTextView
android:id="@+id/textview_sync_runs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/import_runs"
android:textColor="@color/black_midnight"
style="@style/texts.medium_medium_big"
app:font_type="bold"
android:gravity="center"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"/>
Если у кого-то есть предложения, я буду рад его услышать.
Заранее спасибо.
Вы можете поделиться своим файлом layout.xml, который принадлежит к BaseActivity? –
My BaseActivity не имеет макета – dpulgarin
Кажется, вы используете полупрозрачную навигационную панель (либо настроенную в стилях/тему, либо программно). Вот почему ваш макет простирается до полной высоты дисплея, а ваша закусочная добавлена внизу. Вы можете попробовать добавить android: fitsSystemWindows = "true" к вашему родительскому элементу в вашем макете, но тогда контент не будет растягиваться за панель навигации. Если вы все еще хотите, чтобы контент растянулся за ним, но у вас есть snacker сверху, вам придется программно изменить свое положение, когда оно будет показано. – peshkira