2017-09-17 55 views
0

我正在創建一個應用程序,在該應用程序中我的設計中有一個可擴展的視圖。事情是我可以使用Expandable listView或任何其他庫創建它。但我需要做到這一點,而無需listView或庫。有沒有解決方案?我需要創建的視圖如下 - Exapndable View with sub menus如何創建可擴展的視圖,而不使用android中的任何庫

因此,如果不使用庫和listView,我該怎麼做?

回答

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); 
    } 
}