自定义小吃栏无法正常工作

普尔加林

我正在尝试显示一个自定义Snackbar,如以下示例所示:

如何自定义SnackBar的布局?

这是我创建Snackbar的自定义代码:

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();

}

我的目标是在基本活动中有一个方法可以从任何其他活动中调用。

但是我的问题是当我显示Snackbar时,它显示在键盘下:

例子

此外,它不会显示布局的所有视图:

<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"/>

如果有人有任何建议,我将很高兴听到。

提前致谢。

亚沙斯维

首先,您不需要以编程方式设置背景色,因为您已经在xml文件中进行了设置,因此请删除这些行

ViewGroup group = (ViewGroup) snackbar.getView();
group.setBackgroundColor(ContextCompat.getColor(this, R.color.green_wasabi));

其次,尝试通过传递Coordinator Layout活动作为参数,而不是Linear/Relative Layout,即在活动中添加协调器布局作为父布局并传递它。

在xml视图中检查协调器布局布局边界它不应扩展活动范围。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Angular 5材质的小吃栏仅对于自定义ErrorHandling无法正确显示,否则工作正常

自定义筛选无法正常工作

使用自定义ErrorHandler Angular 5无法显示后端错误的实质性小吃栏

使用Gif图像的自定义进度栏在某些设备上无法正常工作

Java自定义异常无法正常工作

Angular 5 表单自定义验证无法正常工作

我的 Batis 自定义 TypeHandler 无法正常工作

自定义AVVideoCompositing类无法正常工作

自定义工具提示无法正常工作

Cloudwatch自定义事件SQS无法正常工作

使用自定义指令时,ngShow无法正常工作

自定义相似度类Solr无法正常工作

Spring JmsMessagingTemplate自定义MessageConverter无法正常工作

自定义分析器无法正常工作Elasticsearch

自定义方形布局无法正常工作

bs4自定义选择无法正常工作

自定义下拉javascript无法正常工作

MUI 选择自定义 MenuItem 无法正常工作

自定义ListView setOnItemClickListener无法正常工作

自定义ArrayAdapter上的getFilter()无法正常工作

自定义下拉菜单无法正常工作

aurelia中的自定义属性无法正常工作?

Bootstrap的自定义CSS无法正常工作

自定义适配器notifyDataSetChanged无法正常工作

javafx自定义ui组件FadeTransition无法正常工作

自定义equals()方法无法正常工作

数据绑定:自定义对象的ObservableField无法正常工作

自定义模糊无法正常工作[AngularJS]

自定义水平流行过渡无法正常工作