首先,我知道SlidingDrawer已被弃用,但我还没有找到任何替代品,所以无论如何我都在使用它:3(如果有人知道替代它,请分享它!)
所以我的活动中有一个GoogleMap(实际上是一个片段,但没关系),并且在同一个屏幕上有一个很好的SlidingDrawer.它运行正常,但是当我在地图上打开或关闭滑动抽屉时,它开始表现得很奇怪.看起来地图想要留在滑动抽屉前面.抽屉完全打开后,它会回到正面,一切正常.
这有解决方法吗?我疯了!
这是我的布局:
<RelativeLayout 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"
android:id="@+id/window"
>
<fragment
android:id="@+id/hackedmap"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment" />
<SlidingDrawer
android:id="@+id/drawer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:content="@+id/drawercontent"
android:handle="@+id/drawerhandle"
android:orientation="horizontal"
>
<LinearLayout
android:id="@id/drawerhandle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00000000"
android:gravity="center" >
<ImageView
android:id="@+id/slidingHandle"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="fitEnd"
android:src="@drawable/sliding_handle" />
</LinearLayout>
<LinearLayout
android:id="@+id/drawercontent"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#DD000000"
android:gravity="center_horizontal|top"
android:orientation="vertical" >
<TextView
android:id="@+id/selectednet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_margin="4dp"
android:text="Select a network:"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#02bceb" />
<ListView
android:id="@+id/passivelist"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:choiceMode="singleChoice" >
</ListView>
</LinearLayout>
</SlidingDrawer>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud) 我大约需要两周时间进行Android开发,我确信有一个非常简单的答案,但需要为我的应用程序创建一个抽屉滑块.不幸的是,我似乎找不到适合我的适配器设置的R.layout.drawer_list.我目前有一个listView,但希望它在一个滑动的抽屉里.我关注developer.android上的api指南,似乎无法通过这个:
mDrawerList.setAdapter(new ArrayAdapter<String>(this,
R.layout.drawer_list_item, mPlanetTitles));
Run Code Online (Sandbox Code Playgroud)
现在这只是从developer.android粘贴的,但是归结为eclipse无法找到R.layout.drawer_list_item.我没有得到R.layout的选项列表,但确实收到了来自android.R.layout的列表......遗憾的是,该列表不包含drawer_list_item选项.
任何帮助将不胜感激.
我正在尝试通过FrameLayout创建一个带有LinearLayout内容的SlidingDrawer.
起初它看起来都很好,我在屏幕底部得到了SlidingDrawer的句柄.但是,如果我开始向上拖动手柄并且内容开始显示,它将被手柄的边框矩形剪切.如果我一直向上拖动手柄,最终会显示整个内容,但是如果我现在向下拖动手柄,它将被内容的边框矩形剪切.此外,如果句柄一直向上,一旦我开始拖动它,整个内容就会消失.
我仍然可以点击手柄应该在屏幕上的位置,拖动它并显示内容,但我需要猜测手柄的位置.
似乎导致这种情况的原因是我在SlidingDrawer之前的xml文件中有一个SurfaceView.
从xml中删除视图可以解决此问题,但我需要此视图.
这是xml:
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- Removing this DrawView from here solves the problem -->
<com.package.DrawView
android:id="@+id/main"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
<SlidingDrawer
android:id="@+id/SlidingDrawer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:allowSingleTap="true"
android:animateOnClick="true"
android:handle="@+id/slideHandleButton"
android:content="@+id/contentLayout"
android:padding="10dip">
<Button
android:id="@+id/slideHandleButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/sliding_button">
</Button>
<LinearLayout
android:id="@+id/contentLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<Button
android:id="@+id/clearButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Test">
</Button>
</LinearLayout>
</SlidingDrawer>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
Java的:
package com.package;
import android.app.Activity;
import android.os.Bundle;
public class SlideTest extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle …
Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序,左侧有一个"抽屉"非常有用.我正在做一些初步测试,看看我最好能做到这一点,而且我遇到了一些非常基本的麻烦.
我的设置
1.我在Xcode 4中使用单视图应用程序模板
.2.在xib的"主/边界"视图中,我添加了2个UIViews(LeftPanel和RightPanel)和一个UIButton(ShowHideButton).
我为LeftPanel绿色和RightPanel蓝色着色,以便更容易看到.
4.加载视图时,两个面板都可见,UIButton的文本为"隐藏面板".
5.按下按钮后,LeftPanel应滑离屏幕(向左),RightPanel应展开以占据其原始空间加上LeftPanel腾出的空间.
6.此时,ShowHideButton应将其文本更改为"显示面板".
7.再次按下按钮后,LeftPanel应向后滑动到屏幕上(从左侧),RightPanel应缩小到"将其返回"原始空间.
8.此时,ShowHideButton应将其文本更改回"隐藏面板".
我正在使用实现动画animateWithDuration:animations:completion:
.到目前为止,过渡关闭屏幕工作正常(非常好,其实).
令我不安的是,当我尝试将LeftPanel"带回"时,我得到了一个EXC_BAD_ACCESS.我已经在下面发布了我的代码,我已经看了它,但我真的看不到我正在访问的内容(或者是导致EXC_BAD_ACCESS的任何内容).
DrawerTestingViewController.h
#import <UIKit/UIKit.h>
typedef enum {
kHidden,
kShown
} PanelState;
@interface DrawerTestingViewController : UIViewController {
PanelState currentState;
UIButton *showHideButton;
UIView *leftPanel;
UIView *rightPanel;
}
@property (assign, nonatomic) PanelState CurrentState;
@property (strong, nonatomic) IBOutlet UIButton *ShowHideButton;
@property (strong, nonatomic) IBOutlet UIView *LeftPanel;
@property (strong, nonatomic) IBOutlet UIView *RightPanel;
- (IBAction)showHidePressed:(id)sender;
@end
Run Code Online (Sandbox Code Playgroud)
DrawerTestingViewController.m
#import "DrawerTestingViewController.h"
@implementation DrawerTestingViewController
@synthesize CurrentState = currentState;
@synthesize LeftPanel = leftPanel; …
Run Code Online (Sandbox Code Playgroud) 我一直在研究这个问题.想法开始很简单,我想在SlidingDrawer句柄上有一个按钮,允许用户查看特定于抽屉内容的设置.所以我做了一个布局,侧面有一个按钮,并将其设置为手柄.抽屉拉得很好,但是不允许按下按钮(在把手上).当我尝试单击该东西时,单击被解释为手柄单击,并切换抽屉的状态.
有谁知道发生了什么?
谢谢~Aedon
我正在尝试在我的应用程序中使用滑动菜单.在我的索尼Xperia S上它工作得非常好,但当我尝试在HTC Desire HD上启动应用程序时,菜单打开完美的手势,但其他触摸事件被阻止,顶视图(ViewPager
滑动菜单在它后面)不滚动.
有人知道如何解决这个问题吗?
提供答案可能会有所帮助(这就是我使用菜单的方式):
private void initSlidingMenu()
{
mSlidingMenu = new SlidingMenu(getApplicationContext());
mSlidingMenu.setMode(SlidingMenu.LEFT);
mSlidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
mSlidingMenu.setShadowWidthRes(R.dimen.default_shadow_width);
mSlidingMenu.setShadowDrawable(R.drawable.defaultshadow);
mSlidingMenu.setBehindOffsetRes(R.dimen.default_behind_offset);
mSlidingMenu.setFadeDegree(0.35f);
mSlidingMenu.setMenu(firstPage);
mSlidingMenu.attachToActivity(this,SlidingMenu.SLIDING_CONTENT);
}
Run Code Online (Sandbox Code Playgroud)
在onPageSelected()
,我禁用菜单或启用它,所以菜单只出现在左页:
@Override public void onPageSelected(int arg0)
{
ActivityCompat.invalidateOptionsMenu(this);
if (arg0 == Utils.DEFAULT_PAGE)
mSlidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
else
mSlidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_NONE);
}
Run Code Online (Sandbox Code Playgroud) 我在我的应用程序中添加了导航抽屉.到目前为止其他一切工作都很顺利,但我遇到的问题是导航抽屉打开时键盘没有关闭.导航抽屉是主要活动,然后从抽屉打开的每个页面都是一个片段.
我已经尝试将以下内容添加到片段中的每个EditText区域.但是,这并没有结束任何事情.
InputMethodManager imm1 = (InputMethodManager)getActivity().getSystemService(
Context.INPUT_METHOD_SERVICE);
imm1.hideSoftInputFromWindow(input1.getWindowToken(), 0);
Run Code Online (Sandbox Code Playgroud)
我也尝试将该代码放在主要活动中,但也没有成功.关于我可以采用哪些不同方法来实现这一目标的任何想法?
我目前正在开发一个Android项目并使用SlidingDrawer,但我在更改背景颜色方面遇到了问题.
默认情况下,SlidingDrawer似乎是透明的,因此当它滑过内容时,由于主屏幕显示在下面,很难读取滑动抽屉的内容.
我想将背景颜色更改为黑色,但由于某种原因,这会更改主要内容的背景颜色,因此当向上推动屏幕时,您无法看到任何内容和滑动抽屉的内容.
下面是我用来生成滑动抽屉的代码
<SlidingDrawer
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/drawer"
android:handle="@+id/handle"
android:content="@+id/content"
android:background="@color/black">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/handle"
android:src="@drawable/ic_launcher"/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:id="@+id/content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I am a sliding drawer - Hello World"/>
</LinearLayout>
</SlidingDrawer>
Run Code Online (Sandbox Code Playgroud)
感谢您的任何帮助,您可以提供.
TabLayout和ViewPager - 在滑动抽屉项目之间滑动后,单击选项卡不起作用.
我的应用程序有滑动抽屉和Tablayout.我参考本教程的Sliding Drawer 和For TabLayout.
内滑动抽屉
TabLayout(Tabs(Today,Monthly,Yearly))
我在Sliding Drawer和Tablayout之间有问题.第一次viewpager加载正确.但是当我移动到下一个抽屉项目(设置片段)之后,返回到TaskList选项卡片段viewpager无法加载任何片段,当滑动该寻呼机然后加载几个片段.
这里有Java代码
public class TaskListFragment extends Fragment {
private Toolbar toolbar;
private TabLayout tabLayout;
private ViewPager viewPager;
public TaskListFragment() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_my_page, container, false);
viewPager = (ViewPager)rootView.findViewById(R.id.viewpager);
tabLayout = (TabLayout)rootView.findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public …
Run Code Online (Sandbox Code Playgroud) (请注意,此问题中描述的行为只是因为我们正在做的其他看似无关的事情而出现.请参阅接受的答案.)
我们有一个带有a GridView
和a的SlidingDrawer
内部的Android活动RelativeLayout
.此活动响应轨迹球(或光标键)的方式相当奇怪.焦点将在GridView中的项目之间移动,但每当光标在GridView的"out"方向移动时.(例如,当在顶部时向上,当已经在最左边的项目时离开)滑动抽屉打开或关闭.值得注意的是,焦点停留在GridView中的相同项目上 - 它不会移动到滑动抽屉.
使用轨迹球这是特别可怕的,因为将轨迹球旋转到您的真实目的地将导致滑动抽屉反复打开和关闭.
我们已经确定我们可以完全通过覆盖来关闭轨迹球onTrackballEvent()
.我们希望轨迹球和光标在GridView上正常工作,但不会导致滑动抽屉打开或关闭.原则上我们也喜欢轨迹球在打开时专注于滑动抽屉的各种内容.
怎么样?
slidingdrawer ×10
android ×9
drawer ×1
google-maps ×1
ios ×1
menu ×1
onclick ×1
panel ×1
slide ×1