单击箭头以显示应用程序中的更多内容

时间:2018-11-17 17:07:12

标签: java android firebase-realtime-database

我正在尝试实现一种行为,即用户单击可以显示更多内容(例如更多描述)的箭头会中止某些操作。它也可以在回收站视图中动态添加更多东西,并且列表会扩展。现在我还不知道如何实现。我尝试在Internet上搜索解决方案,但看到一个名为Spinner的小部件,但我认为它不能帮助我实现所需的行为。 YouTube的行为也是如此

下面的图片可以使我的问题更清楚。任何帮助将不胜感激,谢谢

Before clicking the arrow pic 1

After clicking the arrow pic 2

2 个答案:

答案 0 :(得分:0)

在您的layout.xml中,包括一个嵌套的布局,该布局包括一个包含其他信息并设置android:visibility="gone"的Textview。对要展开视图的按钮使用OnClickListener。在onClick方法中,检查视图是否可见。如果不是,则将其设置为可见,否则将其设置为再次消失。 布局:

...
    <ImageView
        android:id="@+id/chevron"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@android:drawable/chevron"
        />

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="your additional info here" 
        android:visibility="gone"/>
...

在您的活动中:

ImageView yourView = findViewById(R.id.chevron);

..

yourView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (view.getVisibility() == View.Gone) {
                    view.setVisibility(View.Visible);
                } else {
                    view.setVisibility(View.Gone);
                }
            }
        });

答案 1 :(得分:0)

我为此从github库中使用ExpandbleLayout ExpandableLayout。在github repo的readMe中,您可以找到使用它的示例,可以获得与示例中类似的体验,而无需手动创建箭头View和处理动画。 您可以像这样使用它:

#compare columns
print (df.eq(s, axis=0))
       0      1      2      3      4
0  False  False  False  False  False
1  False  False  False  False  False
2   True   True  False  False  False
3  False  False  False  False  False
4   True  False  False  False   True

#compare rows
print (df.eq(s, axis=1))
       0      1      2      3      4
0  False  False  False  False  False
1   True  False   True  False  False
2  False  False  False  False  False
3  False  False  False  False  False
4  False   True  False   True   True

在您的java / kotlin代码中:进行其他逻辑以展开/折叠调用:<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto"> <com.github.aakira.expandablelayout.ExpandableRelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" app:ael_expanded="true" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Some text goes here" android:textSize="28sp" /> </com.github.aakira.expandablelayout.ExpandableRelativeLayout>

所有功劳归图书馆的作者所有。 https://github.com/AAkira/ExpandableLayout