如何在不使用android中的任何库的情况下创建可扩展视图

时间:2017-09-17 05:27:13

标签: android listview expandablelistview

我正在创建一个应用程序,其中我的设计中有一个可扩展的视图。我可以使用Expandable listView或任何其他库创建它。但是我需要在没有listView或库的情况下这样做。对此有什么解决方案吗?我需要创建的视图如下所示 - Exapndable View with sub menus

所以不使用library和listView我该怎么做?

1 个答案:

答案 0 :(得分:0)

根据您的要求,您甚至不需要列表视图,我认为您也不想要适配器,所以您可以试试这个

  

在您的主要活动中   //内部活动

 TextView txt_help_gest;

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

    txt_help_gest = (TextView) findViewById(R.id.txt_help_gest);
    // hide until its title is clicked
    txt_help_gest.setVisibility(View.GONE);
}



>     /**
>     * onClick handler
>     */

public void toggle_contents(View v){
      txt_help_gest.setVisibility( txt_help_gest.isShown()
                          ? View.GONE
                          : View.VISIBLE );
}
  

用于某些动画

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
 android:fillAfter="true">

 <scale
 android:duration="200"
 android:fromXScale="1.0"
 android:fromYScale="0.0"
 android:interpolator="@android:anim/linear_interpolator"
 android:toXScale="1.0"
 android:toYScale="1.0" />

</set>
  

java代码

import android.view.animation.Animation;
import android.view.animation.AnimationUtils;

//...

/**
 *
 * @param ctx
 * @param v
 */
 public static void slide_down(Context ctx, View v){

  Animation a = AnimationUtils.loadAnimation(ctx, R.anim.slide_down);
  if(a != null){
     a.reset();
     if(v != null){
      v.clearAnimation();
      v.startAnimation(a);
     }
  }
}
  

/ **       *主要活动中的点击处理程序       * /

public void toggle_contents(View v){

  if(txt_help_gest.isShown()){
    Fx.slide_up(this, txt_help_gest);
    txt_help_gest.setVisibility(View.GONE);
  }
  else{
    txt_help_gest.setVisibility(View.VISIBLE);
    Fx.slide_down(this, txt_help_gest);
  }
}