gpt4 book ai didi

android - NavigationDrawer 中的 SeekBar

转载 作者:IT王子 更新时间:2023-10-28 23:36:13 26 4
gpt4 key购买 nike

我想在抽屉导航中使用搜索栏

基本上我需要左右滑动来设置搜索栏,你猜对了,它会滑动抽屉导航......

我想要做的是在焦点集中时滑动搜索栏,在没有焦点时滑动抽屉导航。

我该怎么做?

这是我设置项目时的代码(我还没有设置搜索栏)

private View onCritereView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

View mView = inflater.inflate(R.layout.fragment_critere, container, false);
LinearLayout mLinearLayout = (LinearLayout) mView.findViewById(R.id.critere_linearlayout);

View mViewElement = inflater.inflate(R.layout.item_critere, null);
((TextView)mViewElement.findViewById(R.id.critere_title)).setText("Prix Maximum");

mLinearLayout.addView(mViewElement);

return mView;
}

这是带有搜索栏的 item_critre.xml:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/critere_item"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:stretchColumns="*">

<TableRow
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Large Text"
android:id="@+id/critere_title"
android:layout_gravity="left|center_vertical"
android:layout_column="0"/>

<SeekBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/critere_qualifier"
android:layout_column="1"
android:layout_span="4"/>
</TableRow>

<TableRow
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Medium Text"
android:id="@+id/critere_value"
android:layout_span="4"/>
</TableRow>

</TableLayout>

提前致谢:)

最佳答案

只需添加一个 onTouchListener。当您在搜索栏(action_down)上触摸屏幕时,不允许父级拦截事件。

seekbar.setOnTouchListener(new ListView.OnTouchListener() 
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
int action = event.getAction();
switch (action)
{
case MotionEvent.ACTION_DOWN:
// Disallow Drawer to intercept touch events.
v.getParent().requestDisallowInterceptTouchEvent(true);
break;

case MotionEvent.ACTION_UP:
// Allow Drawer to intercept touch events.
v.getParent().requestDisallowInterceptTouchEvent(false);
break;
}

// Handle seekbar touch events.
v.onTouchEvent(event);
return true;
}
});

关于android - NavigationDrawer 中的 SeekBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18400910/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com