NestedScrollView устанавливает фиксированный размер экрана

Если строка не содержит многобайтовых символов, и если вы хотите заменить только один символ, вы можете просто использовать strpos

Здесь функция, которая обрабатывает ошибки

/**
 * Replace the first occurence of given string
 *
 * @param  string $search  a char to search in `$subject`
 * @param  string $replace a char to replace in `$subject`
 * @param  string $subject
 * @return string
 *
 * @throws InvalidArgumentException if `$search` or `$replace` are invalid or if `$subject` is a multibytes string
 */
function str_replace_first(string $search , string $replace , string $subject) : string {
    // check params
    if(strlen($replace) != 1 || strlen($search) != 1) {
        throw new InvalidArgumentException('$search & $replace must be char');
    }elseif(mb_strlen($subject) != strlen($subject)){
        throw new InvalidArgumentException('$subject is an multibytes string');
    }
    // search 
    $pos = strpos($subject, $search);
    if($pos === false) {
        // not found
        return $subject;
    }

    // replace
    $subject[$replace] = $subject;

    return $subject;
}

0
задан Einzig7 13 July 2018 в 13:05
поделиться

3 ответа

Я единственный способ, который я нашел, - сделать его программным, как код ниже:

private void setContainerSize() {
    LinearLayout  contentContainer = getViewDataBinding().container;

    Point point =  SystemUtils.getScreenSize(this);
    float px = SystemUtils.convertDpToPixel(getResources().getDimension(R.dimen.toolbar_size), this);
    assert point != null;
    ViewGroup.LayoutParams layoutParams = contentContainer.getLayoutParams();
    layoutParams.height = (int)(point.getHeight() - px);
    contentContainer.setLayoutParams(layoutParams);
    contentContainer.requestLayout();
}
0
ответ дан Ivan Sablin 17 August 2018 в 12:48
поделиться

Никогда не используйте прокручиваемую прокрутку. 1. Создайте 1 вид ресайклера с разными типами представлений. 2. Добавьте на него layout_behavior.

0
ответ дан Johny Deph 17 August 2018 в 12:48
поделиться

OUTPUT

Попробуйте

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView 
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:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:scrollbars="none"
android:fillViewport="true"
app:layout_constraintBottom_toTopOf="@+id/guideline"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="1.0">


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/colorPrimaryDark"
        android:orientation="vertical">

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recycler_asks"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:scrollbars="none"
            android:layout_weight="1"
            app:layoutManager="android.support.v7.widget.LinearLayoutManager"
            app:layout_constraintBottom_toTopOf="@+id/divider"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            android:layout_marginBottom="@dimen/small_margin"
            android:layout_above="@+id/divider"
            android:background="@color/colorPrimary"/>

        <View
        android:id="@+id/divider"
        android:layout_width="match_parent"
        android:layout_height="1dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"/>

        <android.support.v7.widget.RecyclerView
        android:id="@+id/recycler_bids"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:scrollbars="none"
        android:layout_weight="1"
        app:layout_constraintTop_toBottomOf="@+id/divider"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layoutManager="android.support.v7.widget.LinearLayoutManager"
        android:layout_below="@+id/divider"
        android:layout_marginTop="@dimen/small_margin"
        android:background="@color/colorAccent"/>

    </LinearLayout>


</android.support.v4.widget.NestedScrollView>

0
ответ дан Mohamed Mohaideen AH 17 August 2018 в 12:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: