Articles of 布局

没有findjava android.support.v4.widget.DrawerLayout

android.support.v4.widget.DrawerLayout; 当我testing应用程序时,没有在我的手机上find。 为什么会发生这种情况,我该如何解决? 我还不知道,但我想我可能与android.support.v4.view.GravityCompat;有相同的问题android.support.v4.view.GravityCompat; 和android.support.v4.app.ActionBarDrawerToggle; 如果他们确实造成任何问题。 我从来没有任何问题与android.support.v4.*; 之前,但现在它不工作。 我有android.support.v4 lib(可能一个)。 编辑:更好的错误信息 我的错误 05-27 19:46:21.230: E/jdwp(11659): Failed sending reply to debugger: Broken pipe 05-27 19:46:21.290: W/dalvikvm(11659): VFY: unable to resolve virtual method 30: Landroid/support/v4/widget/DrawerLayout;.closeDrawer (Landroid/view/View;)V 05-27 19:46:21.290: W/dalvikvm(11659): VFY: unable to resolve virtual method 27: Landroid/support/v4/app/ActionBarDrawerToggle;.onConfigurationChanged (Landroid/content/res/Configuration;)V 05-27 19:46:21.290: E/dalvikvm(11659): Could not find class 'android.support.v4.widget.DrawerLayout', referenced […]

错误:<item>标签需要一个“drawable”属性或定义drawable的子标签

我在可绘制文件夹中创build了一个状态列表select器文件item_bg_selector.xml ,如下所示: <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="true" android:drawable="@drawable/item_background_selected" /> <item android:state_focused="true" android:drawable="@drawable/item_background_selected" /> <item android:state_pressed="true" android:drawable="@drawable/item_background_selected" /> <item android:drawable="@android:color/transparent"/> </selector> 然后我定义一个样式元素 <style name="Item"> <item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> <item name="android:background">@drawable/item_bg_selector</item> </style> 然后我尝试像这样创build一个ImageButton : <ImageButton style="@style/Item" android:id="@id/btn_home" android:src="@drawable/home_button" /> Eclipse在“ Event Details窗口中不断给我提供以下错误Event Details : Failed to parse file /path/to/projectdir/res/drawable/item_bg_selector.xml exception跟踪如下: org.xmlpull.v1.XmlPullParserException: Binary XML file line #16: <item> tag […]

我怎样才能将自定义button添加到AlertDialog的布局?

我有AlertDialog正面和负面的button。 在AlertDialog布局中,我有EditText和两个button(btnAdd1,btnAdd2)。 我想当用户点击buttonbtnAdd1或btnAdd2添加相同的文本到AlertDialog中的EditText(但不closuresAlertDialog)。 AlertDialog中可以这样做,还是只能使用Dialog? 这是AlertDialog的布局(R.layout.prompt): <LinearLayout> <EditText android:id="@+id/userInput" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="text" > <requestFocus /> </EditText> <Button android:id="@+id/btnAdd1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="bla" /> <Button android:id="@+id/btnAdd2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="bla" /> </LinearLayout> 这是源代码: LayoutInflater layoutInflater = LayoutInflater.from(this); View promptView = layoutInflater.inflate(R.layout.prompt, null); AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this); alertDialogBuilder.setView(promptView); alertDialogBuilder .setCancelable(false) .setPositiveButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int […]

如何为Android项目创build新的布局(使用Eclipse)

我觉得这是一个相当直接的问题,但经过一番search,我还没有find答案。 我是Android开发新手。 我正在使用Eclipse并安装了ADT。 我只是想知道IDE是否有一个function,可以让我轻松地添加一个新的布局文件到我的项目。 目前我手动添加一个文件到项目中,并调用它像mynewlayout.xml,然后手动从默认布局(添加到新的Android项目)复制XML。 我想知道是否可以通过IDE创build一个新的布局,就像创build一个新的活动一样(通过selectAndroidManifest.xml并selectApplication选项卡)。 谢谢

在RelativeLayout中以编程方式将属性AlignParentRight设置为button不起作用?

我尝试以编程方式将属性AlignParentRight设置为RelativeLayout中的button,但程序崩溃与NullPointerException。 在这里我的代码: //add horizontal realative layout RelativeLayout layouth = new RelativeLayout(this); layouth.setLayoutParams(new RelativeLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); //add textview for label TextView t = new TextView(this); t.setText(d.getName()); t.setTextSize(25); t.setId(2); t.setLayoutParams(new RelativeLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); //add button Button b = new Button(this); b.setText(d.getName()); RelativeLayout.LayoutParams layoutParams =(RelativeLayout.LayoutParams)b.getLayoutParams(); layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); layoutParams.addRule(RelativeLayout.LEFT_OF, 2); b.setLayoutParams(layoutParams); //add textview and button to horizontal linear layout layouth.addView(t); […]

如何使Android SlidingDrawer从左侧滑出?

我在我的应用程序中使用了一个slidingDrawer ,它的处理程序在纵向模式下放置在底部。 当用户切换到横向模式(宽屏)时,我想让处理程序位于左侧。 当我将方向从垂直改为水平时,处理程序位于右侧。 我已经定义了我的布局XML像这样: <SlidingDrawer android:id="@+id/l_drawer" android:layout_width="fill_parent" android:layout_height="fill_parent" android:handle="@+id/l_handle" android:content="@+id/l_content" android:orientation="horizontal" android:layout_gravity="left" > 任何人有一个想法,如何使它从左到右滑动?

Android:将元素放在另一个元素的下方,并在屏幕的底部alignment

我想要定义一个布局,其中一个ImageView是在屏幕底部和GridView下alignment,以避免重叠。 但是,这会导致ImageView被设置在GridView的下方,但不会与屏幕的底部alignment。 这可以解决使用不同types的布局? <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:background="@drawable/background" android:orientation="vertical"> <RelativeLayout android:id="@+id/gs_top_text_container" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:paddingBottom="30dp"> <RelativeLayout android:id="@+id/gs_top_sub_container" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:paddingBottom="30dp"> <TextView android:id="@+id/text_l" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true"/> <TextView android:id="@+id/text_t" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true"/> </RelativeLayout> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/gs_top_sub_container" android:layout_centerHorizontal="true"> <TextView android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:id="@+id/text2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@id/text1"/> </RelativeLayout> </RelativeLayout> […]

是否有可能在android中定义XML的常量随configuration而变化

我感兴趣的是Android中的XML布局会根据横向或纵向查看(以及其他configuration)更改大小。 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_alignParentBottom="true" android:background="@drawable/stream_bg_1px_wide" android:layout_height="150dip" > 在这个例子中,我只是想根据风景或肖像来改变150dip大小,而不是改变其他任何东西。 我正在使用layout和layout-land,而且我知道我可以在每个文件夹中重复布局,但是这使得维护上的变化有点痛苦。 当我根据屏幕密度和大小推出更多变体时,情况会变得更糟。 所以,我想知道是否可以在XML文件中定义一个值(常量),并从我的布局中引用它,类似于如何定义颜色 <?xml version="1.0" encoding="utf-8"?> <resources> <color name="shopper_background"> #FFFFFF</color> </resources> 沿着……的方向 <?xml version="1.0" encoding="utf-8"?> <resources> <value name="footer_size" >150</value> </resources> 然后,我可以在每个configuration中复制该文件,使用不同的值。 谢谢你的帮助

自定义通知布局不适用于Android 2.3或更低版本

我使用NotificationCompat.Builder通过android版本显示我的通知,并使用通知的自定义布局。 自定义布局在Android 3及更高版本(API Level 11)上正常工作,但不会在API Level 10或更低版本上显示。 我在仿真器的2.3和2.2版本上testing了它。 下面是我的代码: Builder builder = new NotificationCompat.Builder(getApplicationContext()); RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.notification_layout); contentView.setImageViewResource(R.id.notImage, R.drawable.stat_icon); contentView.setTextViewText(R.id.notTitle, getResources().getString(R.string.streamPlaying)); contentView.setTextViewText(R.id.notText, StartActivity.streamName + " " + getResources().getString(R.string.playing)); builder .setContentTitle(getResources().getString(R.string.streamPlaying)) .setContentText(StartActivity.streamName + " " + getResources().getString(R.string.playing)) .setSmallIcon(R.drawable.stat_icon) .setContentIntent(pendingIntent) .setOngoing(true) .setWhen(0) .setTicker(StartActivity.streamName + " " + getResources().getString(R.string.playing)) .setContent(contentView); not = builder.build(); 真的很基本。 布局文件是正确的,就像在android.com上的通知教程一样,以确保我没有在那里犯错。 […]

如何使一个线性布局填充相关布局的剩余空间?

我有一个有三个线性布局的相关布局作为孩子。 最后一个有固定的高度,android:layout_alignParentBottom设置为“true”。 中间的一个在第一个下方的位置正好,而它的下方则与第三个重叠。 怎么了? 谢谢 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:id="@+id/category" android:layout_width="fill_parent" android:layout_height="50dp" android:layout_alignParentTop="true" android:orientation="horizontal" > <ImageView android:id="@+id/back_btn" android:layout_width="29dp" android:layout_height="34dp" android:layout_gravity="center_vertical" android:src="@drawable/red_arrow_left" /> <TextView android:id="@+id/cat_name" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:gravity="center" android:textSize="20sp" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@+id/category" android:layout_marginTop="10dp" android:orientation="horizontal" > <ListView android:id="@+id/android:list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@android:color/white" android:cacheColorHint="@android:color/white" /> <TextView android:id="@+id/android:empty" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@android:color/white" […]