如何以编程方式在窗口小部件上设置图像大小?我使用此代码更改图像但我如何设置大小?
RemoteViews updateViews = new RemoteViews(EditPreferences.this.getPackageName(), R.layout.widgetmain2);
updateViews.setImageViewBitmap(R.id.ImageView00, ((BitmapDrawable)EditPreferences.this.getResources().getDrawable(R.drawable.normal_black_op100)).getBitmap());
ComponentName thisWidget = new ComponentName(EditPreferences.this, HelloWidget.class);
AppWidgetManager manager = AppWidgetManager.getInstance(EditPreferences.this);
manager.updateAppWidget(thisWidget, updateViews);
Run Code Online (Sandbox Code Playgroud)
提前致谢
我有一个带有配置活动的小部件,用户可以从颜色选择器中选择小部件背景的颜色.我正在使用下面的方法,我有一个ImageView并创建一个我在ImageView上动态设置的位图.
http://konsentia.com/2011/03/dynamically-changing-the-background-color-in-android-widgets/
public static Bitmap getBackground (int bgcolor)
{
try
{
Bitmap.Config config = Bitmap.Config.ARGB_8888; // Bitmap.Config.ARGB_8888 Bitmap.Config.ARGB_4444 to be used as these two config constant supports transparency
Bitmap bitmap = Bitmap.createBitmap(2, 2, config); // Create a Bitmap
Canvas canvas = new Canvas(bitmap); // Load the Bitmap to the Canvas
canvas.drawColor(bgcolor); //Set the color
return bitmap;
}
catch (Exception e)
{
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
然后
remoteViews.setImageViewBitmap(R.id.bgcolor, getBackground(bgcolor));
Run Code Online (Sandbox Code Playgroud)
我想做的是让用户也选择他们是否想在小部件上使用圆角.是否可以动态更改颜色以及窗口小部件是否具有圆角?从我看过的四舍五入的例子来看,您需要知道视图的尺寸,以便在设置位图之前可以对边缘进行舍入.我不认为这可能来自一个小部件虽然......任何想法?
这是一个带有主题的小部件,它不会从侧边栏中排除列表项.这将从同一地区提取3个房地产列表.但它无法排除当前项目.
必须是一些问题,post__not_in()但我没有看到问题.有谁知道这个功能?
function listingsInSameAreaWidget() { ?>
<aside id="other-listings-in-same-area" class="widget left">
<h4><?php _e('Other Listings in Same Area', 'theme_textdomain'); ?></h4>
<ul id="newlistings">
<?php
$author = get_the_author_meta('ID');
$city = get_the_term_list(ID, 'city');
$post_id = get_post($post->ID)->ID;
$args = array(
'post_type' => 'listings',
'city' => $city,
'post__not_in' =>$post->ID,
'posts_per_page' => 3
);
//query_posts($args);
query_posts( array(
'post_type' => 'listings',
'city' => $city,
'post__not_in' =>$post->ID,
'posts_per_page' => 3, )
);
if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<li>
<?php …Run Code Online (Sandbox Code Playgroud) 这里有新手问题:
我正在摆弄钛合金工作室和合金mvc并开始掌握它.我不清楚如何将小部件导入到我的项目中.
我找到了一个漂亮的滑块菜单,想在我自己的项目中使用它.
现在文档说你必须在config.json中添加依赖项,如下所示:
"dependencies": {
"com.slider" : "1.0"
}
Run Code Online (Sandbox Code Playgroud)
然后你就可以在你的视图中使用它了:
<Widget src="com.slider"></Widget>
Run Code Online (Sandbox Code Playgroud)
但是我不需要先将它导入我的项目吗?如果是这样,怎么样?将其作为项目导入只会将其添加到我的工作区,而不是我的项目用户/窗口小部件/滑块
建立这个我也得到以下错误:
config.json references non-existent widgets: ["com.slider"]
Run Code Online (Sandbox Code Playgroud)
我一直在谷歌上寻找好几个小时但除了合金文档之外没有太多信息,不包括进口产品.
救命?
我试图搜索有关StackView Widget的信息,我发现了很多,但没有人习惯从url获取数据.所以问题是,当我正在处理url时,我的RemoteViews为null,因此它们不会显示任何内容.一旦完成该过程,我想从asyntask更新那个RemoteViews(在同一个类中).我怎样才能做到这一点 ?或同步他们?
这是我的Widget服务代码:
public class RSSService extends RemoteViewsService {
private ManagerRSS mr;
private Cursor c;
private int lenght;
private List<Provider> mWidgetItems = new ArrayList<Provider>();
private RemoteViews rv = null;
public ArrayList<Item> result = new ArrayList<Item>();
private boolean isFinished = false;
@Override
public void onCreate() {
// TODO Auto-generated method stub
mr = new ManagerRSS(this.getApplicationContext());
mr.open();
mr.openRead();
c = mr.getCursor();
lenght = c.getCount();
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
c.close();
mr.close();
super.onDestroy(); …Run Code Online (Sandbox Code Playgroud) 我正在开发一个带有主屏幕小部件的Android应用程序,这是一个imageButton,我希望按下按钮的图像在按下后更改.我已经在xml文件中尝试了选择器,以更改按钮的图像,但只有在按下它时才更改它,但是当它被释放时它会返回.
我希望它在按下后更改图像,当执行WidgetProvider中的代码时,它会将图像更改回默认值.
我试图以编程方式(在onRecieve()方法中),我想它应该是RemoteViews的东西,但无论我尝试什么,它都不起作用.
有人可以帮助我吗?我看到很多人都在问这个问题,但大多数帖子要么很旧,要么解决方案对我不起作用.
谢谢 :)
我对App Widget默认运行的过程有点困惑.在Android开发者处阅读:
"默认情况下,每个应用程序都在自己的进程中运行,应用程序的所有组件都在该进程中运行" - 来自:http://developer.android.com/guide/components/processes-and-threads.html
我的教科书说:
"Android App Widgets不在应用程序进程中运行,而是在主机进程中运行.因此,App Widget使用RemoteViews类来定义其用户界面.RemoteViews类支持整个View层次结构的子集,以便在另一个进程中显示一般来说,您希望在onUpdate()方法期间配置RemoteViews对象并将其发送到App Widget Manager.但是,您还需要在创建实例并存在配置活动时更新它.来自:Android无线应用程序开发第二卷第3版,第370页
有人之前也问了这个问题,答案是"同一个过程": android小部件是否在与它的应用程序相同的进程中运行
有人可以帮助我理解Android App Widget是在自己的进程中运行还是与主应用程序运行相同.谢谢
我正在开发一个比特币今日扩展,由于某种原因,该控件有一个偏移量.以下是目前的情况:http://i.imgur.com/KxeXePS.png
如您所见,按钮几乎不在屏幕上,标签不在左侧.
我的故事板如下:http://i.imgur.com/6vtfNGJ.png
我尝试过设置多种约束,但似乎都没有解决问题.我不确定我可以添加哪些其他信息,但如果您对该项目有任何疑问,我可以回答.
我JS widget在过去5或6周内一直在开发.通过简单地将href添加到远程.js文件以及具有给定ID的DIV容器来包含窗口小部件的内容,可以将其添加到任何站点.
该小部件广泛使用Google Map API,我将其引用如下:
https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=geometry,places&callback=initializeGoogleMaps
Run Code Online (Sandbox Code Playgroud)
当加载小部件时,它将要求用户检查其位置的许可,然后在其他操作中执行对该位置的简单地理编码,以便可以在地图上绘制标记.
一切都很完美,我必须在开发过程中测试超过2,000个搜索.
我昨天部署了小部件并成功将其嵌入到主机网站中 - 一切都像以往一样完美.然而,今天早上,我的小部件随着Chrome的控制台报告而崩溃:
Uncaught RangeError: Maximum call stack size exceeded{main,geometry,places}.js:27 (anonymous function)VM530:33 cVM530:33 TT.(anonymous function).fitBounds{main,geometry,places}.js:48 (anonymous function){main,geometry,places}.js:26 Uf{main,geometry,places}.js:48 O.fitBoundsWRAPPostcodeLocator.js:1541 setupPageWRAPPostcodeLocator.js:964 jQuery.ajax.successjquery.js?time=95944:3 jjquery.js?time=95944:3 k.fireWithjquery.js?time=95944:12 xjquery.js?time=95944:12 b.onload.b.onreadystatechange
Run Code Online (Sandbox Code Playgroud)
由于小部件上次工作,我的代码或主机没有任何更改,所以我怀疑Google API有问题.
可以在以下位置查看嵌入到虚拟主机中的我的窗口小部件的示例:
http://pcl.solsticecloud.co.uk
Run Code Online (Sandbox Code Playgroud)
花了几个小时试图找到底线,我仍然不是更聪明.
任何帮助或建议将非常感激.
先感谢您,
马特
我一直在尝试为我的仪表板创建一个自定义小部件,它使用django-dashing框架运行
https://github.com/talpor/django-dashing
http://django-dashing.readthedocs.org/en/latest/
我的CustomWidget定义如下:
CustomWidget.py:
from dashing.widgets import Widget
class CustomWidget(Widget):
title = ''
more_info = ''
updated_at = ''
detail = ''
value = ''
def get_title(self):
return self.title
def get_more_info(self):
return self.more_info
def get_updated_at(self):
return self.updated_at
def get_detail(self):
return self.detail
def get_value(self):
return "$67"
#return self.value
def get_context(self):
return {
'title': self.get_title(),
'more_info': self.get_more_info(),
'updated_at': self.get_updated_at(),
'detail': self.get_detail(),
'value': self.get_value(),
}
Run Code Online (Sandbox Code Playgroud)
静态/部件/ custom_widget/custom_widget.css:
.widget-custom_widget {
background-color: #96bf48;
}
.widget-custom_widget h1 {
color: rgba(255, 255, 255, 0.7);
}
.widget-custom_widget …Run Code Online (Sandbox Code Playgroud)