所以我为夜间模式制作了单独的xmls并保留了它们layout-night.
然后我切换到夜间模式:
UiModeManager uiManager = (UiModeManager) getSystemService(Context.UI_MODE_SERVICE);
if (nightMode) {
uiManager.enableCarMode(0);
uiManager.setNightMode(UiModeManager.MODE_NIGHT_YES);
} else {
uiManager.disableCarMode(0);
uiManager.setNightMode(UiModeManager.MODE_NIGHT_NO);
}
Run Code Online (Sandbox Code Playgroud)
是否可以在不启用汽车模式的情况下设置夜间模式?
或者为此可以使用layout-night, values-night etc文件夹而不使用setNightMode()?
MediaPlayer更改dataSource播放器时我的Android有问题.根据MediaPlayer(http://developer.android.com/reference/android/media/MediaPlayer.html)的规范,我reset在改变时需要玩家dataSource.这样可以正常工作,但只要channelChanged快速连续两次调用该方法,就会MediaPlayer.reset冻结UI.我分析了这里看到的代码:
public void channelChanged(String streamingUrl)
{
long m1 = System.currentTimeMillis();
mMediaPlayer.reset();
long m2 = System.currentTimeMillis();
try
{
mMediaPlayer.setDataSource(streamingUrl);
}
catch (IOException e)
{
e.printStackTrace();
}
long m3 = System.currentTimeMillis();
mMediaPlayer.prepareAsync();
long m4 = System.currentTimeMillis();
Log.d("MEDIAPLAYER", "reset: " + (m2 - m1));
Log.d("MEDIAPLAYER", "setDataSource: " + (m3 - m2));
Log.d("MEDIAPLAYER", "preparing: " + (m4 - m3));
}
Run Code Online (Sandbox Code Playgroud)
重置:3
setDataSource:1
准备:0
重置:3119
setDataSource:2
准备:1
显然,第一次呼叫reset被阻止 …
有没有类似的样品?Android水平滚动视图...或者我该如何解决这个问题?

我正在尝试实现CalendarView,它需要一个荒谬的时间(大约10秒)才能显示在屏幕上,它只加载月份和工作日标题,它不显示任何日历内容.
使用此视频中的相同代码但未看到相同的结果.我正试图在对话框中启动它:
CalendarView calendarView = new CalendarView(this);
dialog.setContentView(calendarView);
但是当我试图将它嵌入到一个活动中时,它花费了相同的时间来加载并且同样无法正确显示.
我已经创建了一个小测试应用程序来尝试缩放drawable.
我在xml中定义了drawable并将其保存为scale_up.xml.我有一个main.xml带有的布局文件ImageView.我android:src="@drawable/scale_up"在ImageView中使用我在xml中创建的drawable.在我的活动中,我myImageView.setImageLevel(some level here)用来设置定义的ImageView的级别main.xml.一切都很好,ImageView显示了scale_up中定义的drawable.
我的困惑如下:
scaleHeight和scaleWidth%in scale_up.xml不会产生可感知的差异setImageLevel(在0到10000之间)的级别会改变图像的大小 - 实际上只能在5000左右看到.scaleHeight和scaleWidth的%值越高,图像越小(取决于值setImageLevel())我想我的问题是:
setImageLevel(),在0到10000之间传递一个级别 - 在活动中控制xml文件中定义的drawable的大小?setImageLevel()- 之间的关系是什么,正如我现在看到的那样,我也可以将scaleHeight和scaleWidth设置为100%,然后使用setImageLevel(5000)得到50%缩放图像 - 即增加或减少setImageLevel(0 to 10000)将改变比例 - 制作在scaleHeight和scaleWidth%相当没有意义的.感谢对此的任何澄清,也许是一个如何正确使用scale drawable(在xml中定义)的示例.
我注意到我的一个活动内存增加了奇怪.因此我进行了一些测试:我多次打开对话框(打开 - 关闭 - 打开 - 关闭....)并且内存不断增加.所以我使用DDMS转储HPROF文件并在MAT(Memory analyzer)中打开它.漏洞可疑报告指出,内存消耗增长的主要原因是:

所以我做了一个直方图,检查我运行测试的对话框是什么让它保持活力.事实证明,它通过它的AutoCompleteTextViews保持活跃,而后者又由android.widget.TextView $ IClipboardDataPasteEventImpl保持活着.但是IClipboardDataPasteEventImpl没有直接的支配者(GC当然除外).我试图在互联网上找到IClipboardDataPasteEventImpl并且我搜索了grepcode(android源码),但我唯一想到的就是这个博客条目.我无法阅读任何语言,但我能读到的是投入的英文单词,这表明它可能是三星Galaxy SII(我正在使用的手机,运行android 2.3.x)上的一个错误,与ClipboardManager相关.但是我不确定这个(我想解决这个问题,因此我不愿意接受它只是一个无法修复的错误)而且我不知道这个剪贴板产生的原因和原因.我非常感谢有关此事的任何指示/想法.
我正在尝试更改AlertDialog邮件的字体大小.
Button submit = (Button) findViewById(R.id.submitButton);
submit.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(
Application1GoodExample.this);
builder.setMessage("Your form has been successfully submitted");
TextView textView = (TextView) findViewById(android.R.id.message);
textView.setTextSize(40);
builder.setNegativeButton("Exit", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.show();
}
});
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息,指出findViewById()该类型未定义" " AlertDialog.Builder.
我想设计一个微调器,如下图所示:

我没有在旋转器中得到指向下方的箭头符号.我怎样才能做到这一点?
如果我做了如上所示的按钮设计,那么我必须编写额外的代码来获得与微调器类似的功能,就像Spinner没有的那样android:drawableRight="@drawable/arraodown",但是在按钮中我们有这个方法.
我的应用正在尝试安装APK.
Intent installIntent = new Intent(Intent.ACTION_INSTALL_PACKAGE);
installIntent.setData(Uri.fromFile(new File(pathToApk)));
installIntent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
installIntent.putExtra(Intent.EXTRA_RETURN_RESULT, true);
installIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
((Activity)context).startActivityForResult(installIntent, Constants.APP_INSTALL_REQUEST);
Run Code Online (Sandbox Code Playgroud)
在我的活动中
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case Constants.APP_INSTALL_REQUEST:
if(resultCode == RESULT_OK){
Log.e(TAG, "Package Installation Success");
}else if(resultCode == RESULT_FIRST_USER){
Log.e(TAG, "Package Installation Cancelled by USER");
}else{
Log.e(TAG, "Something went wrong - INSTALLATION FAILED");
}
Run Code Online (Sandbox Code Playgroud)
当我的startActivityResult被触发时,我的活动会立即获得结果代码0,该代码对应于RESULT_CANCELLED,而系统安装UI仍在等待用户权限.

我的活动是实际了解安装是否成功,并基于该更新其UI.
任何帮助都值得赞赏.
android android-intent android-ui start-activity onactivityresult
如何按照材料设计指南和Google Map应用程序中的建议创建浮动工具栏,如下图所示.

android ×10
android-ui ×10
calendarview ×1
fonts ×1
java ×1
memory-leaks ×1
toolbar ×1
xml-drawable ×1