我用两个x1m0 n1 s设置了滑动标签,每个Fragment
有一个Button
,它转到一个WebView
。这样做的问题是,当点击WebView
Button
时,滑动标签仍然被激活,当用户试图在WebView
中导航时,你最终会滑动到另一个标签。有没有一种方法可以在点击的方法来禁用标签的滑动能力?任何帮助将不胜感激!
下面是代码:
public class MyWebViewClass extends Fragment {
private WebView mWebView;
private Button mButton;
public MyWebViewClass() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_webview, container, false);
mWebView = (WebView) view.findViewById(R.id.WebView);
mButton = (Button) view.findViewById(R.id.Button1);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mWebView.setVisibility(View.VISIBLE);
mButton.setVisibility(View.GONE);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("www.google.com");
}
});
return view;
}
5条答案
按热度按时间doinxwow1#
这个答案实际上可以应用于任何ViewPager,无论您使用什么库来实现选项卡,甚至是不带选项卡的普通ViewPager。
您正在使用的neokree/MaterialTabs库支持一个ViewPager,它负责滑动效果,您可以通过使用新的ViewPager2或提供您自己的自定义ViewPager来禁用它。
此类提供了一个启用滑动功能的ViewPager,您可以通过
viewPager.isPagingEnabled = false
关闭它更不用说,您必须将XML布局更改为新的自定义ViewPager,而不是原来的布局。
至
clj7thdc2#
Kotlin:
正在使用ViewPager2...
禁用在选项卡之间滑动,用户仍可以点击顶部的选项卡在选项卡之间切换。
有关isUserInputEnabled的文档
oalqel3c3#
最简单的方法是对
setOnTouchListener
执行,然后返回true
以得到ViewPager
。原始答案:https://stackoverflow.com/a/13392198/4293813
wj8zmpe14#
已接受答案的AndroidX和Kotlin版本:
始终禁用分页的ViewPager
ViewPager,可随时开启或关闭分页功能。
最后,在XML文件中找到ViewPager行,并根据您的CustomViewPager位置进行修改,即:
x1月0n1x日
62lalag45#
您可以使用以下代码。