在Android 1.6上部署我的应用程序时,我遇到了向后兼容性问题.我在这段代码上得到了VerifyError:
if(android.os.Build.VERSION.SDK_INT >= 11) {
getActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.actionbar_bg));
}
Run Code Online (Sandbox Code Playgroud)
这不是意料之外的,因为在API 11之前不存在getActionBar(),但1.6之后(API 5及更高版本?)根据在API级别上部署时获取的logcat消息进行半优雅的构建8装置;
06-27 16:47:04.333: INFO/dalvikvm(11529): Could not find method com.me.app.MyActivity.getActionBar, referenced from method com.me.app.MyActivity.init
06-27 16:47:04.333: WARN/dalvikvm(11529): VFY: unable to resolve virtual method 1090: Lcom.me.app.MyActivity;.getActionBar ()Landroid/app/ActionBar;
06-27 16:47:04.333: DEBUG/dalvikvm(11529): VFY: replacing opcode 0x6e at 0x004f
06-27 16:47:04.333: DEBUG/dalvikvm(11529): VFY: dead code 0x0052-005f in Lcom.me.app.MyActivity;.init (Z)V
Run Code Online (Sandbox Code Playgroud)
1.6及更早版本不会这样做,而是抛出VerifyError:
06-27 16:23:45.561: ERROR/dalvikvm(427): Could not find method com.me.app.MyActivity.getActionBar, referenced from method com.me.app.MyActivity.init
06-27 16:23:45.561: WARN/dalvikvm(427): VFY: unable to resolve virtual method 1090: Lcom/me/app/MyActivity;.getActionBar ()Landroid/app/ActionBar;
06-27 …Run Code Online (Sandbox Code Playgroud) android backwards-compatibility verifyerror android-3.0-honeycomb android-4.0-ice-cream-sandwich
我试图使用模拟器来查看ICS中的Gallery应用程序.
因此,我启动AVD并使用相机拍摄几张照片,然后启动图库.当我点击图库中的任何集合时,我收到一个错误,"不幸的是,相机已停止".Gallery应用程序退出.
我在Mac和Windows上试过这个.一样.有谁知道如何使这项工作?
camera android emulation gallery android-4.0-ice-cream-sandwich
当我试图像这样使用这个意图....
Intent i = new Intent(Intent.ACTION_INSERT_OR_EDIT);
i.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE);
startActivityForResult(i,INSERT_CONTACT);
Run Code Online (Sandbox Code Playgroud)
它加载联系人列表然后选择或创建一个联系人后我不会返回到我的应用程序.我检查了日志,没有什么突出的.在ICS中有新的意图行动吗?
谢谢
当(在Gingerbread,2.3.x中)我按下菜单=>管理应用程序=>应用程序中的"清除数据"按钮时,"强制关闭"按钮也会被禁用.这是否意味着"清除数据"也会杀死应用程序?
此外,我注意到在冰淇淋三明治中这不会发生.那么,"清晰数据"的工作方式在姜饼和冰淇淋三明治之间有所不同吗?
更新:正如MisterSquonk所说,Froyo(2.2.x)的行为与ICS(4.x)相同,即在清除应用程序数据后不会禁用强制关闭.任何人都知道为什么这种行为如此不同?什么是Gingerbread中的错误,或者一些临时实验,杀死了应用程序并清除了数据?
PS无法创建"姜饼"标签,没有足够的声誉:) PPS @MisterSquonk,感谢标签:)
更新2:检查Honeycomb(3.2),它的行为与Froyo一样,也就像ICS一样.清除数据后,只有Gingerbread禁用强制关闭.
android android-2.2-froyo android-3.0-honeycomb android-2.3-gingerbread android-4.0-ice-cream-sandwich
我想用下拉菜单创建按钮,比如ICS上ActionBar中的溢出菜单按钮.我有问题因为PopupMenu在android 2.x中没有.使用Spinner的第二种方式,但它不适合我,因为Spinner总是在我的自定义背景或我选择的项目上显示第一个项目.我该如何实现它?一般来说,我想要ContextMenu但很少和位置点击视图.谢谢.
它看起来像这样:

android popupmenu android-4.0-ice-cream-sandwich android-actionbar drop-down-menu
我最近升级了我的应用程序以使用ActionBarSherlock 4.1.由于在动作栏上设置自定义视图时,在Honeycomb上运行应用程序的升级用户会因为空指针异常而关闭力.
我将包含两个微调器的自定义视图添加到操作栏,这适用于Android 4.0和4.1,但不适用于3.2.
bar.setCustomView(R.layout.custom_action_bar);// spinners
actionBarViewHolder= new CustomActionBarViewHolder();
actionBarViewHolder.categorySpinner = (Spinner) findViewById(R.id.actionbar_catergory);
actionBarViewHolder.sortBySpinner = (Spinner) findViewById(R.id.actionbar_sortby);
Run Code Online (Sandbox Code Playgroud)
在Android 3.2上,在4.0和4.1中找不到微调器,它们的视图被找到并且任何东西都能顺利运行.
我没有在3.0模拟器上尝试过该应用程序,但我仍然认为该问题仍然存在.
任何想法可能是什么问题?
<LinearLayout android:id="@+id/linearLayout1"
android:layout_width="wrap_content" android:layout_height="match_parent"
android:gravity="center_vertical|center_horizontal"
android:layout_weight="0.5">
<TextView android:id="@+id/textView1" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="Category:" />
<Spinner android:id="@+id/actionbar_catergory"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:entries="@array/actionbar_spinner_catergory"
android:background="@drawable/spinner_background" />
</LinearLayout>
<LinearLayout android:id="@+id/linearLayout1"
android:layout_width="wrap_content" android:layout_height="match_parent"
android:gravity="center_vertical|center_horizontal"
android:layout_weight="0.5">
<TextView android:id="@+id/textView2" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="Sort By:" />
<Spinner android:id="@+id/actionbar_sortby"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:entries="@array/actionbar_spinner_sortby" android:background="@drawable/spinner_background" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
android android-3.0-honeycomb android-4.0-ice-cream-sandwich actionbarsherlock android-actionbar
我正在为Android 2.3制作自己的搜索视图.
我有.
LinearLayout (水平)AutoCompleteTextViewImageButton我添加的按钮,并AutoCompleteTextView到LinearLayout.
我想把一个角半径放在我自己的控制范围内,如下图所示.

我将这个drawable设置为ImageButton
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" >
<shape>
<solid
android:color="#27AFE0" />
<stroke
android:width="0.5dp"
android:color="#000000" />
<corners
android:topRightRadius="10dp" android:bottomRightRadius="10dp"
android:topLeftRadius="0.1dp"
android:bottomLeftRadius="0.1dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<solid android:color="#D3DBDE"/>
<stroke
android:width="0.5dp"
android:color="#000000" />
<corners
android:topRightRadius="10dp" android:bottomRightRadius="10dp"
android:topLeftRadius="0.1dp"
android:bottomLeftRadius="0.1dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
Run Code Online (Sandbox Code Playgroud)
可绘制为AutoCompleteText
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#D3DBDE"/>
<stroke android:width="0.5dp" android:color="#000000"/>
<corners android:topLeftRadius="10dp"
android:bottomLeftRadius="10dp"
android:topRightRadius="0.1dp"
android:bottomRightRadius="0.1dp"/> …Run Code Online (Sandbox Code Playgroud) android cornerradius android-layout android-2.3-gingerbread android-4.0-ice-cream-sandwich
如何actionbar在运行时将模式设置为在运行时不覆盖或覆盖内容?我尝试过使用getWindow().requestFeature(Window.FEATURE_ACTIONBAR_OVERLAY)但不允许在调用后设置模式setContentView().这可以完成,因为我已经看到它在Youtube应用程序中完成.
我正试图在冰淇淋三明治设备上测试应用程序.为了实现这一点,我希望在运行API Level 15的android studio中运行一个模拟器.
我确保通过sdk管理器安装系统映像,它正确显示在管理器中安装,如下所示:
不幸的是,当我尝试从"虚拟设备配置"菜单中的列表中选择系统映像时,不会显示该选项.

我试图在网上查看这个,但解决方案似乎相当不正统.有没有人有这个问题并找到了解决方案?
android android-virtual-device android-emulator android-4.0-ice-cream-sandwich android-studio
我一直在为Android 3.x开发Android应用程序,现在我想支持Android 4.0.
所以我从AVD Manager创建了一个新的AVD,目标是Android 4.0.3和API Level 15,分辨率1280 x 800.
模拟器正常运行,但其UI处于手机模式,而不是平板电脑,我的应用程序(用于平板电脑)UI已折叠.即,通知栏设置顶部,而不是底部.
如何让模拟器识别它应该作为平板电脑运行?
android android-virtual-device android-emulator android-4.0-ice-cream-sandwich
android ×10
android-4.0-ice-cream-sandwich ×10
camera ×1
cornerradius ×1
emulation ×1
gallery ×1
popupmenu ×1
verifyerror ×1