我有一個線性佈局,其中有五個TextViews。假設用戶點擊第三個TextView;我想將TextView擴展到整個屏幕。換句話說,我想將第三個TextView作爲全屏顯示在與其他文本視圖相同的活動中。我該怎麼做呢?展開Android查看全屏
6
A
回答
1
是的,我明白你的意思。看下面的例子,我已經測試過它以確保它能正常工作。這可能不是最優雅的解決方案,但這裏有。
這一次,我已經設置高度爲0,重量爲1爲每個文本視圖。這使得每個視圖的高度相等。
<TextView
android:id="@+id/textview1"
android:layout_width="fill_parent"
android:layout_height="0px"
android:layout_weight="1"
android:text="text1"
/>
在活動代碼,我有以下實例聲明:
private TextView tv1;
private TextView tv2;
private TextView tv3;
private TextView tv4;
private TextView tv5;
private boolean singleViewExpanded = false;
private OnClickListener myOnClickListener = new OnClickListener(){
public void onClick(View arg0) {
if(singleViewExpanded)
{
showAllViews();
singleViewExpanded = false;
}
else
{
// Hide all views apart from the clicked one
hideAllViews();
arg0.setVisibility(View.VISIBLE);
singleViewExpanded = true;
}
}
};
singleViewExpanded,您可以跟蹤您是否顯示所有視圖或只有一個。 onClickListener在這裏被定義,以便我們可以爲每個TextView設置它。
這些都是顯示和隱藏方法:
private void showAllViews()
{
tv1.setVisibility(View.VISIBLE);
tv2.setVisibility(View.VISIBLE);
tv3.setVisibility(View.VISIBLE);
tv4.setVisibility(View.VISIBLE);
tv5.setVisibility(View.VISIBLE);
}
private void hideAllViews()
{
tv1.setVisibility(View.GONE);
tv2.setVisibility(View.GONE);
tv3.setVisibility(View.GONE);
tv4.setVisibility(View.GONE);
tv5.setVisibility(View.GONE);
}
最後,線了onCreate方法內部的onclick處理:
tv1 = (TextView)findViewById(R.id.textview1);
tv2 = (TextView)findViewById(R.id.textview2);
tv3 = (TextView)findViewById(R.id.textview3);
tv4 = (TextView)findViewById(R.id.textview4);
tv5 = (TextView)findViewById(R.id.textview5);
tv1.setOnClickListener(myOnClickListener);
tv2.setOnClickListener(myOnClickListener);
tv3.setOnClickListener(myOnClickListener);
tv4.setOnClickListener(myOnClickListener);
tv5.setOnClickListener(myOnClickListener);
3
如果您最初設置每個文本視圖的高度如下WRAP_CONTENT:
<TextView
android:id="@+id/textview1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="text1"
/>
然後附上切換如下WRAP_CONTENT和FILL_PARENT之間的layout_height一個單擊處理程序,你應該實現你想要的。
final TextView tv1 = (TextView)findViewById(R.id.textview1);
tv1.setOnClickListener(new OnClickListener(){
public void onClick(View arg0) {
if(tv1.getLayoutParams().height == LayoutParams.FILL_PARENT)
tv1.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
else
tv1.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
}
});
如果您最初想要分隔文本視圖,還可以使用layout_weight。
相關問題
- 1. 的Android滑展開查看
- 2. Android單擊列表查看展開ImageView
- 3. Android視頻觀看全屏
- 4. 全屏照片查看器
- 5. 全屏查看產品
- 6. Android全屏屏蔽查看Google日曆FAB
- 7. Android BottomSheetDialogFragment不完全展開
- 8. AdminLTE展開或全屏顯示框
- 9. Android TestView擴展查看
- 10. Android的LinearLayout不伸展全屏
- 11. PresentModalViewController與全屏與Master_Detail查看
- 12. 選擇縮略圖和查看全屏
- 13. iPad全屏模式查看TabBarController?
- 14. 用戶單擊全屏庫查看
- 15. 滾動查看器不填充全屏
- 16. 按下按鈕全屏查看圖像
- 17. 如何正確查看VirtualBox全屏?
- 18. Modal查看全屏不能正常查看
- 19. Android定製查看不能延伸到全屏的一些屏幕尺寸
- 20. 開關videoview到全屏模式的Android
- 21. 搜索查看展開/摺疊動畫的Android
- 22. 查看動畫在Android的摺疊/展開視圖中的LinearLayout
- 23. Ember展開子控制器/查看
- 24. grails gson查看展開兒童模板
- 25. 完全展開的嵌套列表 - Android
- 26. Android Viewflipper上次查看之前的黑屏查看
- 27. Android的陰影查看屏幕截圖
- 28. 的Android ICS屏幕解鎖 - 查看
- 29. 在Android上查看PC屏幕
- 30. 在小屏幕上查看Android字體
感謝您的答覆,但是這個代碼不執行任何操作。在我的程序中,我設計了5個文本視圖,這些視圖在垂直方向的線性佈局下。我已經用第三個文本視圖的onClickListner設置了上面提到的代碼。但是當第三個文本視圖被點擊時,它仍然是一樣的,它沒有被擴展並且與其他文本視圖重疊。 – 2010-10-07 04:22:29
是的,它的工作,問題是,我的線性佈局容器的佈局寬度和高度Wrap_Content。將其更改爲Fill_Parent後,它就可以工作。但現在的問題是,當我點擊文本視圖時,它只會向下擴展,即它覆蓋文本視圖下方的空間。但是在這個文本視圖上方有一些視圖。我希望這種觀點能夠向上和向下擴展,從而覆蓋整個屏幕。 – 2010-10-07 04:34:56