Articles of android widget

Android:将按钮绘制为微调器

我有一个自定义的android视图,它扩展了’Button’并充当了一个多级微调器 – 当它被按下时,它会显示一系列类似微调器的对话框,允许用户优化他们的选择。 在这种情况下,它允许用户选择他们想要发生拾取的日,然后是小时,然后是分钟(以5分钟为间隔)。 当对话框未激活时,按钮上会显示当前选择的文本说明。 我想直观地指出用户可以通过按下按钮来改变选择,并认为微调器的外观正是我所需要的。 我希望外观与设备上的其他微调器相同,并且能够轻松更改按钮上的文本,但我不确定如何在没有它的情况下实现这一点。 我应该如何将按钮显示为与设备上其他微调器一致的微调器图标?

“……必须提供layout_height ……”但是我的风格资源呢?

我有一个2.1及以上的工作应用程序,直到我尝试用主题样式清理我的初始布局。 现在,应用程序甚至不会以“您必须提供layout_height属性”失败消息开始,该消息指向布局中的第一个EditText视图。 为什么我不能将每个EditText上正常工作的’layout_height = 30dp’移动到… item name =“android:layout_height”> 30dp <…以我的主题引用的样式? 事实上,我抽象出来的所有其他风格效果都很好。 [我不会惊讶地发现,必须对LinearLayout进行一些样式覆盖,而不是EditText。 或者它必须是View的样式项,而不是Widget。 不知道] 想法? 任何人? 忽视了哪些明显的事情? 在此先感谢您的任何建议! AndroidManifest.xml中: <manifest xmlns:android="http://schemas.android.com/apk/res/android" … … xxx_theme.A.xml true @style/xxx_TextView_widget @style/xxx_EditText_widget @style/xxx_CheckBox_widget @style/xxx_Radio_widget 9dp 30dp 8dp 1dp 1dp @color/texthint true true textNoSuggestions …

在TextView或WebView中突出显示文本

是否可以在TextView或WebView突出显示文本? 我在EditText看到它是可能的 EditText中的高亮文本 我想在TextView或WebView做同样的事情。 那可能吗?

是否可以刷新片段的视图

我以编程方式更改了应用程序的locale ,如下所示: Resources res = context.getResources(); DisplayMetrics dm = res.getDisplayMetrics(); android.content.res.Configuration conf = res.getConfiguration(); conf.locale = new Locale(“cn”); res.updateConfiguration(conf, dm); 在此之后,我想刷新当前显示的片段视图以显示新的区域设置。 所以,我首先得到当前片段(这是最新的一个在backstack ): BackStackEntry latestEntry=fragMgr.getBackStackEntryAt(fragMgr.getBackStackEntryCount()-1); String str=latestEntry.getName(); Fragment fragment=fragMgr.findFragmentByTag(str); 在我获得当前显示的片段后,我想刷新它的视图 ,但是怎么做呢? 在Android中是否可以刷新片段的视图

如何让Android SlidingDrawer从左侧滑出?

我在我的应用程序中使用了slidingDrawer ,它在处于纵向模式时将处理程序放在底部。 当用户切换到横向模式(宽屏)时,我希望处理程序位于左侧。 当我将方向从垂直方向更改为水平方向时,处理程序位于右侧。 我已经像这样定义了我的布局XML: 任何人都知道如何让它从左向右滑动?

android AutoCompleteTextView白色白色下拉列表

在这里打破我的头脑,我已经在网上搜索了很多,似乎这是Android之前的一个错误,但还没有find解决方案。 我有一个AutoCompleteTextView: autodesignations = (AutoCompleteTextView) findViewById(R.id.main_autocomp); adapterShapesAuto = new ArrayAdapter(this,android.R.layout.simple_dropdown_item_1line, shapes); autodesignations.setAdapter(adapterShapes); 小部件工作,但下拉文本始终是白色背景上的白色文本。 我已经尝试将适配器的资源设置为android的内置布局的几种组合以及我自己的布局。 甚至将它指向一个TextView资源也可以用于Spinner(按预期工作,白色背景上的黑色文本),但发现无法使其工作,继续得到相同的结果 有帮助吗?

更改ImageView内容会导致OutOfMemoryError

我有一个非常简单的应用程序,一个ImageView和一个Button。 我的ImageView加载的第一个Drawable资源在XML Layout中使用“android:src”标记指定,但是在运行时我想要更改它显示的图片 。 为此,我启动一个活动结果,从SD卡中选择一个图像(意图发送到MediaStore.Images.Media.EXTERNAL_CONTENT_URI)。 但是,当选择图片时,我尝试使用所选图片的URI更新ImageView,但我收到消息“ java.lang.OutOfMemoryError:位图大小超过VM预算 ” 我试图加载我的HTC-Hero相机拍摄的照片(照片大小约为1.1M),但没有成功,似乎只适用于小于500KB的照片。但是我需要加载用相机拍摄的照片。 我怎么解决这个问题? 我究竟做错了什么。 在我看来,代码非常简单,应该可以工作。 public void onClick(View v){ Intent selectImageIntent=new Intent(Intent.ACTION_PICK , android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startActivityForResult(selectImageIntent,1); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data){ super.onActivityResult(requestCode, resultCode, data); if(resultCode==Activity.RESULT_OK){ Uri selectedImageUri = data.getData(); Log.i(TAG,”chosen image: “+selectedImageUri.toString()); ImageView imageView = (ImageView) this.findViewById(R.id.ImageView01); imageView.setImageURI(selectedImageUri);//here I get the OutOfMemoryError imageView.invalidate(); }else{ […]

Android Widgets:RemoteViews上的animation?

我没有太多成功将animation应用于RemoteViews视图。 为简单起见,假设我有一个带有ImageView和Button的小部件。 单击按钮时,我想向ImageView添加一个简单的animation(例如旋转)。 由于我无法使用findViewById()获取引用,就像在Activity和RemoteViews中没有animation的setter一样,我不知道该怎么办。 我正在考虑使用新的布局替换窗口小部件的RemoteViews,类似于原始布局,但是这个已经加载了animation。 我可以这样做吗? 是否可以在布局中嵌入animation? 对于WidgetProvider,代码将是这样的: Intent intent = new Intent(context, RotateService.class); PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, 0); RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.a_widget); views.setOnClickPendingIntent(R.id.a_button, pendingIntent); appWidgetManager.updateAppWidget(appWidgetId, views); 然后在RotateService中: ComponentName myWidget = new ComponentName(this, MyWidget.class); AppWidgetManager manager = AppWidgetManager.getInstance(this); RemoteViews newViews = buildNewRemoteViewsWithAnimation(); manager.updateAppWidget(myWidget, newViews); 还有其他建议吗?

Android小部件在开发后未显示在列表中

我正在用小部件升级我的应用程序。 这不是我做过的第一个小部件。 我总是遇到奇怪的问题,但最终小部件在列表中出现了问题。 这是我到目前为止所做的: 创建了widget_layout.xml 创建了widget_info.xml 创建了WidgetProvider类 在部分添加了要显示的小部件(由于某种原因,这里不能粘贴清单片段,它只是没有显示,请在此处查看代码) 仍然无法在小部件列表中find小部件。 我在真实设备上调试应用程序。 我正在使用库项目,但是小部件文件,但我在项目中直接运行。 这可能会发生什么?

为什么单行中的TextView使用“end”显示框?

我在Android中使用TextView,我想在TextView中以“。”结尾显示1行,但最后给出[]types框。 我不知道为什么? 我只是想把这个盒子拿出去,只显示以“……”结尾的文字 更新list_row.xml的代码 这是“next_arrow”的图像 这是我在适配器中使用getView()的代码。 String discription = listData.getDescription(); if (discription != null && discription.length() > 0) { if (textViewDis != null) { textViewDis.setTypeface(titleFont); Log.e(“data”, “”+discription); discription.replaceAll(“\r\n”, “”); textViewDis.setText(discription); } } 这是要显示的实际描述字符串。 Andrew和Stephanie Tidwell坦诚地分享了他们在这项业务中的成功故事。 这个故事将帮助每个人都倾听,即使在第二代企业中也没有人能够完美。 这是一个流音频文件。 还有一些问题吗? 我可以更多地更新问题。