小编Rom*_*nko的帖子

Android工具栏在CollapsingToolbarLayout中重叠TabLayout

我试图让CollapsingToolbarLayoutToolbarTabLayout它下面的,但他们相互重叠,我得到这个

在此输入图像描述

我尝试了很多解决方案,但仍然有这个问题.这是我的xml:

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:fab="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/app_bar_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fitsSystemWindows="true"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:fitsSystemWindows="true"
            app:contentScrim="@color/colorAppPrimary"
            app:expandedTitleMarginEnd="64dp"
            app:expandedTitleMarginStart="48dp"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <RelativeLayout
                android:id="@+id/image"
                android:layout_width="match_parent"
                android:layout_height="250dp"
                android:background="@drawable/material_plane"
                android:fitsSystemWindows="true"
                android:scaleType="centerCrop"
                android:src="@drawable/header_png"
                app:layout_collapseMode="parallax"
                app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed">

                <ImageView
                    android:id="@+id/imageViewPhoto"
                    android:layout_width="80dp"
                    android:layout_height="80dp"
                    android:layout_centerInParent="true" />

                <TextView
                    android:id="@+id/textViewName"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentBottom="false"
                    android:layout_below="@+id/imageViewPhoto"
                    android:layout_centerHorizontal="true"
                    android:layout_marginTop="5dp"
                    android:text="TEXT"
                    android:textColor="@color/white"
                    android:textSize="16dp" />
            </RelativeLayout>

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:fitsSystemWindows="true"
                android:gravity="top"
                app:layout_collapseMode="pin"
                app:layout_scrollFlags="scroll|enterAlways">

                <TextView
                    android:id="@+id/toolbar_title"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:textColor="@color/white"
                    android:textSize="20dp"
                    android:textStyle="bold" />
            </android.support.v7.widget.Toolbar>

            <android.support.design.widget.TabLayout
                android:id="@+id/tabs" …
Run Code Online (Sandbox Code Playgroud)

android overlapping android-toolbar android-coordinatorlayout android-tablayout

6
推荐指数
1
解决办法
3648
查看次数

包含 Kotlin Gradle 和 Git 子模块的多个 buildSrc 文件夹

我有一个带有 Kotlin Gradle 的 Android 项目(主项目)。该项目还包含 Git 子模块,该子模块也使用 Kotlin Gradle(子模块项目)。

主项目有一个buildSrc文件夹,Configuration里面有class。子模块项目也有自己的buildSrc文件夹,Configuration里面有类。

主项目使用来自子模块项目的module1和。module2这些模块使用文件Configuration中子模块项目中的类build.gradle.kts

问题来了:当我连接module1module2主项目时,会出现编译错误,因为buildSrc子模块项目中的文件夹未编译,但buildSrc主模块中的文件夹将被编译。

接下来的问题是:如何合并buildSrc文件夹,如果不能,那么我应该如何处理这种情况?

注意:我不想只是将子模块buildSrc文件夹中的类复制粘贴到主模块的buildSrc. 我想在其他项目中重用这个子模块。

这是简化的项目结构:

+-- app/
+-- android-sub/ (submodule)
|   +-- app/
|   +-- module1/
|       +-- build.gradle.kts
|   +-- module2/
|       +-- build.gradle.kts
|   +-- build/
|   +-- buildSrc/
|       +-- build/
| …
Run Code Online (Sandbox Code Playgroud)

java android gradle kotlin gradle-kotlin-dsl

5
推荐指数
1
解决办法
2563
查看次数

为什么Any的方法不是抽象的或原生的?

Java的

资源

Object的方法被标记为native,因此很容易理解它们是在场景后面实现的

科特林

资源

   public open class Any {
        public open operator fun equals(other: Any?): Boolean
        public open fun hashCode(): Int
        public open fun toString(): String
    }
Run Code Online (Sandbox Code Playgroud)

任何方法都没有标记为原生或抽象,所以问题是下一个:

何时以及如何生成Any方法以及为什么我不能只复制粘贴Any类并且编译没有错误?

java methods class kotlin

4
推荐指数
1
解决办法
71
查看次数

Android BottomSheetBehavior setState()NullPointerException

我正在尝试BottomSheetBehavior从Android支持设计库中实现.我初始化BottomSheetBehavior如下:

private void initBottomSheet() {
        new AsyncTask<Void, Void, Void>() {

            View bottomSheetFrame = rootView.findViewById(R.id.bottom_sheet);

            }

            @Override
            protected Void doInBackground(Void... params) {
                bottomSheetBehavior = BottomSheetBehavior.from(bottomSheetFrame);

                bottomSheetBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {
                    private boolean isOnTop = false;

                    @Override
                    public void onStateChanged(@NonNull View bottomSheet, int newState) {
                        switch (newState) {

                            case BottomSheetBehavior.STATE_DRAGGING: {
                                ...
                            }

                            case BottomSheetBehavior.STATE_SETTLING: {
                                ...
                            }

                            case BottomSheetBehavior.STATE_EXPANDED: {
                               ...
                            }

                            case BottomSheetBehavior.STATE_COLLAPSED: {
                                ...
                            }

                            case BottomSheetBehavior.STATE_HIDDEN: {
                                ...
                            }

                            default: {
                                break;
                            }
                        }
                    }

                    @Override …
Run Code Online (Sandbox Code Playgroud)

java android nullpointerexception android-support-library android-design-library

2
推荐指数
1
解决办法
1424
查看次数

获取多行时出现PHP错误

我试图获取数据库中的所有行.我的代码:

$sql = "SELECT * FROM lectors";

$array = array();
while($row =  mysqli_fetch_assoc(mysqli_query($con,$sql))){
    echo $row["name"];
}
Run Code Online (Sandbox Code Playgroud)

当我发送请求时,服务器不回复.有任何想法吗?

php mysql database arrays

0
推荐指数
1
解决办法
43
查看次数