2017-01-31 15 views
0

Я новичок в android. Я разрабатываю приложение. У меня есть textView как заголовок и horizontal_scroll_view с контентом. Теперь, когда я нажимаю textView, мне нужно, чтобы horizontal_scroll_view всплывал по заголовку.android - показать горизонтальное прокручивание при нажатии текстового комментария

XML layout-

  <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:paddingLeft="20dp" 
       android:paddingStart="20dp" 
       android:onClick="DailyUseItems" 
       android:clickable="true" 
       android:text="Daily Use Products" 
       android:textColor="#FFFFFF" 
       android:textSize="24sp" /> 



     <HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="#EEEEEE" 
      android:id="@+id/daily_use_items" 
      android:scrollbars="none"> 
     </HorizontalScrollView> 
+1

Разместите код! – OBX

ответ

0

Если вы хотите, чтобы показать его как всплывающие окна вы можете сделать пользовательский диалог https://developer.android.com/guide/topics/ui/dialogs.html Но если вы хотите сделать HorizontalScrollView невидимым и сделать его видимым на заголовке щелчком мыши вы можете установить в XML android:visibility="invisible" или android:visibility="gone", а затем в java click listener horizontalScrollView.setVisibility(View.VISIBLE); Чтобы сделать это всплывающим/слайд вниз по заголовку, вам нужно будет использовать анимацию для Android. Вот как я бы сделал это, основываясь на этом коде https://gist.github.com/rafali/5146957:

MainActivity.class

public class MainActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    final HorizontalScrollView hsc = (HorizontalScrollView) findViewById(R.id.daily_use_items); 
    TextView tv = (TextView) findViewById(R.id.header); 

    hsc.setAlpha(0.0f); 

    tv.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      hsc.animate().alpha(1.0f); 
      ResizeAnimation resizeAnimation = new ResizeAnimation(hsc,hsc.getHeight()); 
      resizeAnimation.setDuration(600); 
      hsc.startAnimation(resizeAnimation); 
     } 
    }); 
} 
} 

ResizeAnimation.class

public class ResizeAnimation extends Animation { 
final int startHeight; 
final int targetHeight; 
View view; 

public ResizeAnimation(View view, int targetHeight) { 
    this.view = view; 
    this.targetHeight = targetHeight; 
    startHeight = 0; 
} 

@Override 
protected void applyTransformation(float interpolatedTime, Transformation t) { 
    int newHeight = (int) (startHeight + (targetHeight - startHeight) * interpolatedTime); 
    view.getLayoutParams().height = newHeight; 
    view.requestLayout(); 

} 

@Override 
public void initialize(int width, int height, int parentWidth, int parentHeight) { 
    super.initialize(width, height, parentWidth, parentHeight); 
} 

@Override 
public boolean willChangeBounds() { 
    return true; 
} 
} 
+0

Спасибо, сэр. В первый раз, когда выполняется код, я забываю добавить 'android: visibility =" gone "и' horizontalScrollView.setVisibility (View.VISIBLE); 'и я запускаю приложение, которое показывает' horizontalScrollView', и когда я нажимаю кнопку header 'textView' он анимирует и работает отлично, но изображения внутри моего' horizontalScrollView' сжаты. Позже я добавил оба кода, и я запустил приложение, но ничего не происходит, когда щелкнули «textview» ... Теперь я снова удалил и код, и я запустил приложение, а мой «horizontalScrollView» пуст ... Plz помогите мне исправить это ... :(:( – Simon

+0

Сэр ... я удалил resizeanimation.class и ResizeAnimation 'resizeAnimation = new ResizeAnimation (hsc, hsc.getHeight()); resizeAnimation.setDuration (600); hsc.startAnimation (resizeAnimation); эти коды ... теперь его работа отлично ... Спасибо, сэр ... :) :) :) – Simon

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

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