2015-11-01 1 views
1

Я создал прокрутку.Скрытие названия прокрутки в студии android

Want to hide Activity Title

Я хочу, чтобы скрыть эту деятельность (название Banglalink Последние предложения).

Но

Show Activity Title

Я хочу показать название активности на этой стадии (Banglalink Последние предложения).

Это можно сделать? Если да, то как?

ответ

0

Calling этот метод из onCreate()

initCollapsingToolbar(); 

Определение метода

private void initCollapsingToolbar() { 
    final CollapsingToolbarLayout collapsingToolbar = 
      (CollapsingToolbarLayout) findViewById(R.id.toolbar_layout); 
    collapsingToolbar.setTitle(" "); 
    AppBarLayout appBarLayout = (AppBarLayout) findViewById(R.id.app_bar); 
    appBarLayout.setExpanded(true); 

    // hiding & showing the title when toolbar expanded & collapsed 
    appBarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() { 
     boolean isShow = false; 
     int scrollRange = -1; 

     @Override 
     public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) { 
      if (scrollRange == -1) { 
       scrollRange = appBarLayout.getTotalScrollRange(); 
      } 
      if (scrollRange + verticalOffset == 0) { 
       collapsingToolbar.setTitle("Your app title"); 
       isShow = true; 
      } else if (isShow) { 
       collapsingToolbar.setTitle(" "); 
       isShow = false; 
      } 
     } 
    }); 
} 
+0

Не просто ссылку на учебник - напишите основную информацию и укажите учебник. Как бы то ни было, этот ответ, вероятно, будет опущен и удален. –

0

Лучше всего это преобразовать к нормальной активности (с Scrollview в детстве), начните с ActionBar скрытой (используя шкурку() вызова ниже (положить его в OnCreate()).

Тогда поместите цветную backgroiund в верхней части экрана внутри scrollview. Наконец, вы можете программным образом переключаться между скрытием вашего заголовка (и панели действий), но при необходимости указывать фон заголовка (или наоборот) путем добавления горизонтального прослушивателя/наблюдателя прокрутки.

Слушатель будет переключать панель действий и заголовок в зависимости от того, насколько далеко прокрутился пользователь.

например:

Добавить наблюдатель внутри OnStart():

hsv.getViewTreeObserver().addOnScrollChangedListener(
     new ViewTreeObserver.OnScrollChangedListener() 
     { @Override public void onScrollChanged() 
     { 
      Log.i(TAG,"scroll:"+hsv.getScrollX());}}); 
      // todo adjust scrollx value to decide on hide or show call: 
      if (hsv.getScrollX() > 100)    
       getActionBar().show(); 
       mHeaderLayoutView.setVisibility(View.GONE); 
      else 
       getActionBar().hide(); 
       mHeaderLayoutView.setVisibily(View.VISIBLE) 

      ... 

Примечание: ВПГ является HorizontalScrollView работы.

Обратите внимание, если ваш используют библиотеки поддержки (например, вы класс активности распространяется AppCompatActivity), код изменится на:

getSupportActionBar().hide(); 

Я не уверен, если getScrollX в пикселях или дп (работа для вас исследовать).

Надеюсь, это поможет!

+0

На самом деле я не хочу, чтобы скрыть панель действий, но название акции когда просмотр прокрутки только что начался. – Sudarshan

+0

@ Сударшан, хорошо, вы можете вызвать getSupportActionBar(). SetTitle (""); вместо того, чтобы скрывать в моем примере ответа. – DEzra

+0

Это отличная идея. Я попробовал это. Но это не служит моей цели, поскольку мне нужно показать название, когда активность прокручивается вниз. – Sudarshan

0
<resources> 
    <dimen name="app_bar_height">180dp</dimen> 
    <dimen name="fab_margin">16dp</dimen> 
    <dimen name="text_margin">16dp</dimen> 
    <!-- Default screen margins, per the Android Design guidelines. --> 
    <dimen name="activity_horizontal_margin">16dp</dimen> 
    <dimen name="activity_vertical_margin">16dp</dimen> 
    <dimen name="appbar_padding_top">8dp</dimen> 
</resources> 

Это должен быть ваш файл dimens.xml. Если вы уменьшите app_bar_height до 120dp или закроете ... текст будет невидим. Я не знаю, как вернуть его обратно после распада

0

Это работает для меня:

CollapsingToolbarLayout toolbarLayout = (CollapsingToolbarLayout) 
           findViewById(R.id.toolbar_layout); 
toolbarLayout.setTitle(" "); 
0

You необходимо удалить строку android:theme="@style/AppTheme.AppBarOverlay" в вашем XML. Как только вы удалите заголовок, вы перейдете к фону. Таким образом, вы можете скрыть название своей деятельности. в качестве примера вы можете поместить местозаполнитель, чтобы скрыть его.

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
    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:fitsSystemWindows="true"> 

<android.support.design.widget.AppBarLayout 
    android:id="@+id/app_bar" 
    android:layout_width="match_parent" 
    android:layout_height="220dp" 
    android:fitsSystemWindows="true" 
    > 
    <!--android:theme="@style/AppTheme.AppBarOverlay"--> 

    <android.support.design.widget.CollapsingToolbarLayout 
     android:id="@+id/toolbar_layout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fitsSystemWindows="true" 
     app:contentScrim="?attr/colorPrimary" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed" 
     app:toolbarId="@+id/toolbar"> 

     <android.support.constraint.ConstraintLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 

      <ImageView 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:fitsSystemWindows="true" 
       android:scaleType="centerCrop" 
       app:layout_collapseMode="pin" 
       app:srcCompat="@drawable/place_holder" /> 

      <ImageButton 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginBottom="8dp" 
       android:layout_marginLeft="6dp" 
       android:layout_marginStart="6dp" 
       android:layout_marginTop="8dp" 
       android:src="@mipmap/next" 
       app:layout_constraintBottom_toBottomOf="parent" 
       app:layout_constraintStart_toStartOf="parent" 
       app:layout_constraintTop_toTopOf="parent" /> 

     </android.support.constraint.ConstraintLayout> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      app:layout_collapseMode="pin" 
      app:popupTheme="@style/AppTheme.PopupOverlay"/> 
    </android.support.design.widget.CollapsingToolbarLayout> 
</android.support.design.widget.AppBarLayout> 

<include layout="@layout/content_display_shop" /> 
</android.support.design.widget.CoordinatorLayout> 
0

Немного поздно, но я думаю, что это может помочь кому-то найти решение для этого, вы можете просто задать цвет текста прозрачным. Просто добавьте ниже стиль вашего styles.xml:

<style name="ToolBarTheme"> 
     <item name="android:textColor">@android:color/transparent</item> 
    </style> 

и добавьте следующий атрибут к вашему CollapsingToolbarLayout:

app:expandedTitleTextAppearance="@style/ToolBarTheme" 

 Смежные вопросы

  • Нет связанных вопросов^_^