直接问题_我需要构建导航抽屉,从具有多个Left to Right
和check boxes
的{{1}}导航。当用户点击“过滤器”按钮时,此抽屉将显示。我试过 Navigation Drawer,但它不是我案例的解决方案。我需要如下_
用户检查&点击button
(抽屉获取隐藏和搜索所需的内容)。
然后我想(我不确定它会解决我的问题)我们可以通过go
做到这一点,然后我尝试构建Customized Dialog having Check boxes which look like Drawer
的“自定义对话框”。在演示
Navigate from Left to Right
所以,最后,是否可以构建一个 filters.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
final Dialog callAlert = new Dialog(LandingActivity.this,R.style.CutomDialog);
//callAlert.requestWindowFeature(Window.FEATURE_NO_TITLE);
WindowManager.LayoutParams wmlp = callAlert.getWindow().getAttributes();
wmlp.gravity = Gravity.CENTER;
callAlert.setContentView(R.layout.call);
ImageView close = (ImageView)callAlert.findViewById(R.id.close);
close.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
callAlert.dismiss();
}
});
ImageView queryno = (ImageView)callAlert.findViewById(R.id.queryno);
queryno.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:+XXXXXXX"));
startActivity(intent);
}
});
callAlert.show();
}
});
_ _ / p>
- 如上所示
Customized Dialog
?- 与
Filters
高度匹配?- 从
导航Activity's
L->R
Navigation Drawer
还是要做别的事?
我们将非常感谢您的帮助!感谢...
答案 0 :(得分:0)
为什么不使用相同的导航抽屉并更改其内容并打开抽屉而不是显示对话框。
左侧抽屉只有相对布局,并且有两个不同的布局,一个用于过滤,一个用于对话。
现在,当您单击以显示对话框设置对话框布局时,可以更新它的内容。
on onCreate of activity:
dialog=(RelativeLayout) findViewById(R.id.dialog);
filter=(ListView) findViewById(R.id.list_slidermenu);
ImageView close = (ImageView)findViewById(R.id.close);
close.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
drawer.close(Gravity.start);
dialog.setVisibility(View.INVISIBLE);
filter.setVisibility(View.VISIBLE);
}
});
ImageView queryno = (ImageView)findViewById(R.id.queryno);
queryno.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:+XXXXXXX"));
startActivity(intent);
}
});
OnClick
filters.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.setVisibility(View.VISIBLE);
filter.setVisibility(View.INVISIBLE);
drawer.open(Gravity.start);
}
});
XML
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Framelayout to display Fragments -->
<FrameLayout
android:id="@+id/frame_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!-- Listview to display slider menu -->
<RelativeLayout android:layout_width="240dp"
android:layout_height="match_parent" android:layout_gravity="start">
<ListView
android:id="@+id/list_slidermenu"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:choiceMode="singleChoice"
android:divider="@color/list_divider"
android:dividerHeight="1dp"
android:listSelector="@drawable/list_selector"
android:background="@color/list_background"/>
<RelativeLayout android:layout_width="match_parent"
android:layout_height="match_parent" android:visibility="invisible" android:id="@+id/dialog">
//--- PUT YOUR DIALOG LAYOUT HERE
</RelativeLayout>
</android.support.v4.widget.DrawerLayout>
答案 1 :(得分:0)
是的,这是可能的,但是您可以在Manifest文件中使用Dialog主题进行活动,而不是创建对话框, 希望这有效。 在活动中,你可以做任何你想做的事。