我有一個包含ScrollView的Activity。這個ScrollView包含一個TableLayout,其中包含許多Widgets。當用戶點擊一個Button時,我想禁用TableLayout中的所有Widgets,但不禁用滾動。用戶需要能夠查看ScrollView內部的內容,但不能與其交互。我搜索了互聯網,並沒有找到一個適合我的答案。如果您有任何解決方案,請在這裏發佈。任何幫助都很讚賞。(Android)如何禁用ScrollView中的所有Buttons/CheckBoxes/Other Widgets,但不禁用滾動
0
A
回答
0
我最初從Yaw Asare的回答開始,發現它不適用於我的情況。在我的應用程序中遇到這個bug之前,我已經設置了Player 1和Player 2 Widgets及其onClick方法。我需要做的就是重新實現這些函數,並將它們的onClick方法設置爲什麼都不做,然後在我需要再次啓用這些方法時回顧初始方法。我沒有真正禁用這些小工具的點擊,但改變了他們的onClick方法。非常感謝所有答覆這個問題的人。我非常感謝你的幫助。
1
ScrollView擴展了ViewGroup,因此您可以使用getChildCount()和getChildAt(index)方法遍歷子元素。 所以,它會是這個樣子:
ScrollView scroll = (ScrollView) findViewById(R.id.yourscrollid);
for (int i = 0; i < scroll.getChildCount(); i++){
View view = scroll.getChildAt(i);
view.setEnabled(false); // Or whatever you want to do with the view.
}
0
你將不得不調用setEnabled(false)
上的ScrollView
每個視圖。爲了方便起見,您可以將要禁用的所有視圖添加到ViewGroup
,然後當想要啓用/禁用子視圖時,只需遍歷ViewGroup
中的視圖即可。希望這可以幫助。
0
我會建議你使用框架佈局it.Try下面的代碼
xml文件
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TableLayout
android:id="@+id/tablelayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white" >
</TableLayout>
<!-- below frame layout is to disable the whole view -->
<FrameLayout
android:id="@+id/frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
</ScrollView>
現在,在onCreate()方法中的活動寫下面的代碼。
FrameLayout fl = (FrameLayout) findViewById(R.id.frame);
fl.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
});
這將禁用點擊您的視圖的每個孩子。
相關問題
- 1. Android ScrollView禁用慣性滾動
- 2. 禁用ScrollView中的ListView滾動
- 3. Android ScrollView列表視圖,但禁用滾動
- 4. Android Webview禁用所有鏈接,但啓用滾動
- 5. 如何啓用viewSwitcher時禁用ScrollView中的滾動?
- 6. 如何禁用scrollView?
- 7. 如何禁用ScrollView
- 8. Android:如何在滾動HorizontalScrollView時禁用ScrollView的垂直滾動?
- 9. 禁用鼠標滾動Scrollview在基維
- 10. 如何在Android中禁用GridView滾動?
- 11. 如何禁用QML ScrollView(或TextArea)中的滾動
- 12. 如何禁用我的應用中的所有滾動效果?
- 13. 禁用iframe中的所有滾動,但允許單擊
- 14. Android:我如何禁用滾動的CalendarView
- 15. 的Javascript爲iOS:彈性滾動而不禁用所有滾動
- 16. Android ScrollView禁用一瞥
- 17. Android瀏覽器禁用X滾動禁用Y滾動以及
- 18. 如何禁用水平滾動在android
- 19. 如何在Android上禁用滾動ListView?
- 20. Android HorizontalScrollView禁用滾動
- 21. 如何禁用在jsTree中移動,但不禁用drag'n'drop插件?
- 22. 如何禁用ListView滾動?
- 23. 如何創建不在ScrollView中的ListView或禁用了ScrollView?
- 24. 禁用所有動畫在Android應用
- 25. jQTouch禁用滾動,啓用滾動,禁用滾動
- 26. 禁用滾動條和鼠標滾輪但不滾動到
- 27. 如何禁用Urxvt中的滾動?
- 28. 如何禁用skrollr中的滾動條
- 29. 如何禁用OSMdroid中的滾動
- 30. 如何禁用ScrolledForm中的滾動條?
使用'your_widget.setEnabled(false);'將啓用的狀態更改爲禁用,否則爲true。您必須爲每個想要禁用的小部件進行設置。 – diogojme