我正在研究Android的导航抽屉.根据我的要求,我要在导航抽屉中显示gridview和项目列表视图.我在布局xml文件中创建了一个linearLayout,并将两个小部件(Grid视图和Listview)放在LinearLayout中.
当我运行该文件时,我收到以下错误:
java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.navigationdrawer3/com.example.navigationdrawer3.MainActivity}:java.lang.ClassCastException:android.widget.FrameLayout $ LayoutParams无法强制转换为android.support.v4. widget.DrawerLayout $的LayoutParams
下面是我的java,logcat和NavigationDrawer布局文件:
MainActivity.java
public class MainActivity extends Activity {
private DrawerLayout mDrawerLayout;
private ListView mDrawerList;
private ActionBarDrawerToggle mDrawerToggle;
private CharSequence mDrawerTitle;
//@SuppressWarnings("unused")
private CharSequence mTitle;
private String[] mGalaxyTitles;
private GridView mDrawerGrid;
private LinearLayout mDrawerLinear;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTitle = mDrawerTitle = getTitle();
mGalaxyTitles = getResources().getStringArray(R.array.items_array);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerList = (ListView) findViewById(R.id.left_drawer);
mDrawerGrid = (GridView)findViewById(R.id.gridview);
mDrawerLinear =(LinearLayout)findViewById(R.id.linearLayout);
mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
mDrawerGrid.setAdapter(new ImageAdapter(MainActivity.this));
mDrawerList.setAdapter(new ArrayAdapter<String>(this,
R.layout.drawer_list_item, mGalaxyTitles));
mDrawerList.setOnItemClickListener(new DrawerItemClickListener()); …Run Code Online (Sandbox Code Playgroud) android android-layout navigation-drawer drawerlayout android-framelayout
嗨,我正在使用android.我已经成功地将web导航抽屉添加到我的应用程序中.现在我想在图像中添加个人资料图片视图.我在列表项中尝试过它.但是我想要更多的空间,就像在图像中一样......我怎么能这样做?请帮帮我,我是android新手
这是我的列表项代码
mTitle = mDrawerTitle = getTitle();
// load slide menu items
navMenuTitles = getResources().getStringArray(R.array.nav_drawer_items);
// nav drawer icons from resources
navMenuIcons = getResources()
.obtainTypedArray(R.array.nav_drawer_icons);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerList = (ListView) findViewById(R.id.list_slidermenu);
navDrawerItems = new ArrayList<NavDrawerItem>();
// adding nav drawer items to array
// Home
navDrawerItems.add(new NavDrawerItem(navMenuTitles[0], navMenuIcons.getResourceId(0, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[1], navMenuIcons.getResourceId(1, -1)));
// Find People
navDrawerItems.add(new NavDrawerItem(navMenuTitles[2], navMenuIcons.getResourceId(2, -1)));
// Photos
navDrawerItems.add(new NavDrawerItem(navMenuTitles[3], navMenuIcons.getResourceId(3, -1)));
// Communities, Will add a counter here
navDrawerItems.add(new NavDrawerItem(navMenuTitles[4], navMenuIcons.getResourceId(4, -1), true, "22")); …Run Code Online (Sandbox Code Playgroud) 我一直在尝试在DrawerLayout中设置一个EditText框,但仔细阅读Android培训网站,他们解释说DrawerLayout只允许有两个子视图.如果我想做下一个代码,我应该如何处理它?
<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">
<!-- The main content view -->
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!-- The navigation drawer -->
<EditText
android:id="@+id/EditText01"
android:layout_width="240dp"
android:layout_height="match_parent"
android:hint="Search" >
</EditText>
<ListView android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#111"/>
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud) android android-layout android-support-library navigation-drawer drawerlayout