Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android實現Google Play上的文本伸縮功能示例

Android實現Google Play上的文本伸縮功能示例

編輯:Android開發實例

 經常上google play下載軟件,看到它的伸縮式的軟件介紹很感興趣。功能截圖如下:

點擊文本會下拉更多詳細介紹,實現這一功能很簡單,廢話不多說,直接上代碼

  1. private boolean isExpanded = false; 
  2.     private int lastHeight = 0; 
  3.  
  4.     @Override 
  5.     public void onCreate(Bundle savedInstanceState) { 
  6.         super.onCreate(savedInstanceState); 
  7.         setContentView(R.layout.activity_expand_in_context); 
  8.  
  9.         final ViewGroup expandableContainer = (ViewGroup) findViewById(R.id.expandable_container); 
  10.  
  11.         findViewById(R.id.expandable_text).setOnClickListener( 
  12.                 new View.OnClickListener() { 
  13.  
  14.                     @Override 
  15.                     public void onClick(View v) { 
  16.                         if (isExpanded) { 
  17.                             ViewGroup.LayoutParams params = (ViewGroup.LayoutParams) expandableContainer 
  18.                                     .getLayoutParams(); 
  19.  
  20.                             params.height = lastHeight; 
  21.  
  22.                             expandableContainer.setLayoutParams(params); 
  23.                             expandableContainer.invalidate(); 
  24.                         } else { 
  25.                             lastHeight = expandableContainer.getHeight(); 
  26.  
  27.                             ViewGroup.LayoutParams params = (ViewGroup.LayoutParams) expandableContainer 
  28.                                     .getLayoutParams(); 
  29.  
  30.                             params.height = ViewGroup.LayoutParams.WRAP_CONTENT; 
  31.  
  32.                             expandableContainer.setLayoutParams(params); 
  33.                             expandableContainer.invalidate(); 
  34.                         } 
  35.  
  36.                         isExpanded = !isExpanded; 
  37.  
  38.                     } 
  39.                 }); 
  40.  
  41.     } 

布局只需要這樣:

  1. <FrameLayout 
  2.             android:id="@+id/expandable_container" 
  3.             android:layout_width="wrap_content" 
  4.             android:layout_height="200dp" 
  5.             android:layout_below="@+id/above" 
  6.             android:layout_margin="15dp" 
  7.              > 
  8.  
  9.             <TextView 
  10.                 android:id="@+id/expandable_text" 
  11.                 android:layout_width="match_parent" 
  12.                 android:layout_height="match_parent" 
  13.                 android:ellipsize="end" 
  14.                 android:text="@string/loremipsum"  
  15.                 android:clickable="true"/> 
  16.         </FrameLayout> 

父布局限定了可限示的高度,可以使文本不用一次性全部顯示,為屏幕節省空間。等用戶點擊查時才一次性顯示全部給用戶,再一次點擊則隱藏掉。。原理很簡單。

 

轉自:http://www.cnblogs.com/TerryBlog/archive/2013/03/12/2956165.html

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved