編輯:Android開發實例
經常上google play下載軟件,看到它的伸縮式的軟件介紹很感興趣。功能截圖如下:
點擊文本會下拉更多詳細介紹,實現這一功能很簡單,廢話不多說,直接上代碼
- private boolean isExpanded = false;
- private int lastHeight = 0;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_expand_in_context);
- final ViewGroup expandableContainer = (ViewGroup) findViewById(R.id.expandable_container);
- findViewById(R.id.expandable_text).setOnClickListener(
- new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (isExpanded) {
- ViewGroup.LayoutParams params = (ViewGroup.LayoutParams) expandableContainer
- .getLayoutParams();
- params.height = lastHeight;
- expandableContainer.setLayoutParams(params);
- expandableContainer.invalidate();
- } else {
- lastHeight = expandableContainer.getHeight();
- ViewGroup.LayoutParams params = (ViewGroup.LayoutParams) expandableContainer
- .getLayoutParams();
- params.height = ViewGroup.LayoutParams.WRAP_CONTENT;
- expandableContainer.setLayoutParams(params);
- expandableContainer.invalidate();
- }
- isExpanded = !isExpanded;
- }
- });
- }
布局只需要這樣:
- <FrameLayout
- android:id="@+id/expandable_container"
- android:layout_width="wrap_content"
- android:layout_height="200dp"
- android:layout_below="@+id/above"
- android:layout_margin="15dp"
- >
- <TextView
- android:id="@+id/expandable_text"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:ellipsize="end"
- android:text="@string/loremipsum"
- android:clickable="true"/>
- </FrameLayout>
父布局限定了可限示的高度,可以使文本不用一次性全部顯示,為屏幕節省空間。等用戶點擊查時才一次性顯示全部給用戶,再一次點擊則隱藏掉。。原理很簡單。
轉自:http://www.cnblogs.com/TerryBlog/archive/2013/03/12/2956165.html
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我
登錄應用程序的屏幕,詢問憑據登錄到一些特定的應用。可能需要登錄到Facebook,微博等本章介紹了,如何創建一個登錄界面,以及如何管理安全問題和錯誤嘗試。首先,必須定義兩
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我
本文實例講述了Android4.X中SIM卡信息初始化過程詳解。分享給大家供大家參考,具體如下: Phone 對象初始化的過程中,會加載SIM卡的部分數據信息,這