我目前正在计划我的应用程序的蜂窝更新,我想知道如何正确使用操作栏.我的第一个问题是,是否可以隐藏操作栏中的应用程序图标和标题.Honeycomb-UI有什么样的设计指南吗?
Android Honeycomb中的UI非常不同.我正在寻找开发人员感兴趣的事情.Google还没有更新它的UI指南,所以我试图通过检查布局来找到这些东西.我主要对图标的尺寸和新的视图类型感兴趣.
操作栏高度为56dp(?android:attr/actionBarSize).现在菜单图标似乎是32 x 32 dp,它们之前是48 x 48 dp.由于它们位于操作栏中,因此它们周围有很多填充物.带填充的菜单图标大小为64 x 56 dp.我需要这个,因为我试图把ProgressBar一个菜单项.
还有什么改变吗?此外,我对一些常见UI模式的大小感兴趣,例如邮件客户端等列表/详细布局的宽度.
我想使用面包屑,但没有找到任何有关如何使用它的信息.是否有使用breadcrumb标题的运行示例?
我将此方法称为从AFrag转到BFrag:
showFragment()
{
FragmentTransaction fragmentTransaction = mFragmentMgr.beginTransaction();
// Add fragment to the container ContentView
fragmentTransaction.replace(R.id.operation_fragments_frame, mBFrag, mBFrag.getTag());
// Add FADE effect
fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
// Keep the transaction in the back stack so it will be reversed when backbutton is pressed
fragmentTransaction.addToBackStack(null);
// Commit transaction
fragmentTransaction.commit();
}
Run Code Online (Sandbox Code Playgroud)
它显示一个新片段(BFrag),替换前一个片段(AFrag)并保留有关事务的信息,因此可以在按下后退按钮时自动撤消/撤消.
当按下后退按钮时,一切看起来都很好,显示前一个片段(AFrag).但是当我再次前进时(AFrag - > BFrag)我得到了一个"碎片已经添加了例外".
反向/撤消操作没有删除新片段(BFrag)吗?这是预期的行为吗?
这很奇怪,因为在此之后,我决定设置一张支票:
if(mBFrag.isAdded())
{
fragmentTransaction.show(mBFrag);
}
else
{
fragmentTransaction.replace(R.id.operation_fragments_frame, mBFrag, mBFrag.getTag());
}
Run Code Online (Sandbox Code Playgroud)
而且,它进入了else语句......我得到了异常.
我对你做错了什么了解吗?
谢谢.
当我用Intent打开相机时,我遇到了Galaxy Tab限量版(Google I/O)的问题.
这是我的代码:
Intent imageCaptureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
imageCaptureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new
File(mSavedFilePath)));
startActivityForResult(imageCaptureIntent, REQUEST_IMAGE_CAPTURE);
在摩托罗拉Xoom上,此代码工作正常.但是在Galaxy Tab 10.1上,我从未收到相机应用程序的响应.
我没有堆栈跟踪,因为我没有错误.
任何人都有任何想法?
我完全不知所措.我创建了一个minSDK = 4和targetSDK = 11的应用程序.编译并在Xoom平板电脑上运行.我没有得到一个动作栏,也无法弄清楚我做错了什么.我一直盯着屏幕几个小时,不知道我做了什么会导致酒吧消失.救命!关于为什么我没有看到动作栏的任何建议?
我有MyView与WebView元素.当我在网页视图上"长按"时,弹出ActionBar.如果我尝试访问操作栏,就像
getActionBar()
Run Code Online (Sandbox Code Playgroud)
在我的活动中的某个地方,我得到了空.Web视图似乎正在使用某种菜单弹出窗口.
问题:

我试图通过Intent.putExtras这样的方式将数据从一个活动传递到另一个活动:
private ArrayList<HashMap<String, String>> mGroups = new ArrayList<HashMap<String, String>>();
private ArrayList<HashMap<String, String>> mUsers = new ArrayList<HashMap<String, String>>();
...
Bundle data = new Bundle();
data.putInt("mode", mode);
data.putSerializable("groups", (Serializable) mGroups);
data.putSerializable("users", (Serializable) mUsers);
data.putInt("current_class", mCurrentClassId);
data.putInt("current_user", mCurrentUserId);
Intent intent = new Intent(ctx, ChildActivity.class);
intent.putExtras(data);
ctx.startActivityForResult(intent, 0);
Run Code Online (Sandbox Code Playgroud)
这mUsers是一个HashMap<String,String>包含用户数据的列表,包括Base64编码的照片,此列表中的字符串大小总和约为500Kb
startActivityForResult用黑屏调用挂起几分钟然后我得到ANR错误.onCreate根本没有调用子活动.
如果我不在mUsers中添加大字符串(没有Base64编码的照片) - 工作得很好.
请帮忙.
我为Android 4.0编写了1个应用程序,它是通过broadcastreceiver启动的.我的代码如下:
在AndroidManifest.xml中:
<uses-permission android:name="android.permission.INTERNET" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<receiver android:name="com.Android.Exercise.StartUpReceiver"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<!--<action android:name="StartInstrument" />
<action android:name="PrintControlName" /> -->
</intent-filter>
</receiver>
<service android:enabled="true" android:name="StartAUT_Service">
<intent-filter>
<action android:name="com.Android.Exercise.StartAUT_Service" />
</intent-filter>
</service>
</application>
Run Code Online (Sandbox Code Playgroud)
在StartUpReceiver类中:
public class StartUpReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Log.i("Broadcast", "onReceive");
Intent i = null;
if(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
i = new Intent(context, StartAUT_Service.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
context.startService(i);
}
}
Run Code Online (Sandbox Code Playgroud)
重新启动设备后,我无法接收广播.请帮帮我,非常感谢
android broadcastreceiver android-3.0-honeycomb android-4.0-ice-cream-sandwich
我知道Android的API 10之前,调用很重要recycle()的Bitmap是不再使用的S,因为实际的原始数据被存储在本机内存.
但是,从API 11开始,Bitmaps存储在堆中,所以我的问题是:
它仍然需要调用recycle()上Bitmap■如果API是足够大(至少11)?如果我在这样的API上调用它会怎么做?
android ×10
android-4.0-ice-cream-sandwich ×1
bitmap ×1
camera ×1
fragment ×1
heap-memory ×1
java ×1
recycle ×1
tablet ×1
webview ×1