我正在开发一个带有图像的小部件,可以在一个设置屏幕中由用户选择.然后可以使用ImageView.setScaleType("CENTER")从用户设置图像.这样可行.然后,图像的URL作为URL存储在首选项中,也作为Bitmap的Base64编码字符串存储(因为我想缩小图像,用户可以在设置中旋转它)
在小部件中,我加载图像.这很好.使用URI和Bitmap也是如此.ImageView的ScaleType也设置为布局中的固定值,也适用.
但是如何以编程方式在窗口小部件中定义ImageView的ScaleType?原因我想将ScaleType设置为值,用户已在设置中选择.使用RemoteViews,我们无法获得ImageView ...
我试过了:
myRemoteViews.setString(R.id.myImage,"setScaleType","CENTER");
日志文件说:ImageView无法使用函数setScaleType.
有人知道如何在AppWidget中进行此定义吗?
给出一组典型的模型:
# Application A
from django.db import models
class TypicalModelA(models.Model):
the_date = models.DateField()
# Application B
from django.db import models
class TypicalModelB(models.Model):
another_date = models.DateField()
...
Run Code Online (Sandbox Code Playgroud)
如何将所有 DateFields 的默认小部件更改为自定义MyDateWidget?
我问,因为我希望我的应用程序有一个jQueryUI datepicker用于输入日期.
我考虑过一个自定义字段,它使用我的自定义小部件扩展django.db.models.DateField.这是实施这种全面改变的最佳方式吗?这样的改变需要专门将一个特殊的MyDateField导入到每个模型中,这是一个劳动密集型,容易出现开发人员错误(即一些模型.DateField将会通过),在我看来似乎是不必要的重复工作.另一方面,我不喜欢修改可以被认为是规范版本的模型.DateField.
感谢思想和投入.
我有一个数字时钟小部件.如何使用资产/字体中的自定义字体作为显示时钟的textview中的默认字体?
这是我的代码:
package android.tristan.widget.digiclock;
import java.util.Calendar;
import android.app.PendingIntent;
import android.app.Service;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.IBinder;
import android.os.Vibrator;
import android.text.format.DateFormat;
import android.widget.RemoteViews;
public class DigiClock extends AppWidgetProvider {
@Override
public void onDisabled(Context context) {
super.onDisabled(context);
context.stopService(new Intent(context, UpdateService.class));
}
public void onReceive(Context context, Intent intent)
{
super.onReceive(context, intent);
if(intent.getAction().equals("android.tristan.widget.digiclock.CLICK"))
{
Vibrator vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(50);
final Intent alarmClockIntent = new Intent(Intent.ACTION_MAIN, null);
alarmClockIntent.addCategory(Intent.CATEGORY_LAUNCHER);
final ComponentName cn = new ComponentName("com.android.deskclock", …Run Code Online (Sandbox Code Playgroud) 我计划将一些最小的功能捆绑到Android设备的应用程序或小部件中.然而,在第二个想法,我意识到我从来没有听过/读过有人用Cordova/Phonegap建立一个小部件.我google了一下,答案似乎暗示着'不'.我阅读了Phonegap主页上的描述,它说它允许用户基本上构建应用程序.
所以,有人可以指出我正确的方向,以便在科尔多瓦创建一个Android小部件.如果不是,那么小部件在概念上/实际上与应用程序有何不同.
PS:也许我在这里使用了一些不正确的术语.我的意思是小部件就是这个.它主要在半透明的条形图上粘在主屏幕上.
只有一个错误,直到我将其用于我的研究!
Warning: Z-order assignment: " is not a valid widget.
FILE: qvvideoreaderblockwidget.ui
Run Code Online (Sandbox Code Playgroud)
它附带没有行号.我试图找到,但没有看到一个开放式的部分.
我该怎么做才能正确编译这个库?
如何使我的小部件全屏?我尝试过这样的事情:
void MainWindow::SetFullScreen()
{
// Make our window without panels
this->setWindowFlags( Qt::FramelessWindowHint | Qt::Tool | Qt::WindowStaysOnTopHint );
// Resize refer to desktop
this->resize( QApplication::desktop()->size() );
this->setFocusPolicy( Qt::StrongFocus );
this->setAttribute(Qt::WA_QuitOnClose, true);
qApp->processEvents();
show();
this->setFocus();
}
Run Code Online (Sandbox Code Playgroud)
但是小部件不在系统面板之上.还有其他想法吗?
操作系统:Linux
我正在尝试实现一个简单的小部件,以便在主屏幕上显示.我遇到的问题是onUpdate只在我安装小部件时被调用一次.配置如下.注意:我不会将更新周期留在20秒,因为我知道这会消耗电池(只是测试).
组态:
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="294dp"
android:minHeight="72dp"
android:updatePeriodMillis="20000"
android:initialLayout="@layout/my_custom_app_widget">`
</appwidget-provider>`
Run Code Online (Sandbox Code Playgroud)
清单摘录:
<receiver android:name="MyCustomWidgetProvider">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/my_custom_app_widget_info" />
</receiver>
Run Code Online (Sandbox Code Playgroud)
我在安装窗口小部件时会观察到以下行为:在onReceive上的我的WidgetProvider类中调用onEnabled然后onReceive,然后调用onUpdate.
之后,窗口小部件显示,并且永远不会再次调用onUpdate.我还会在调用onUpdate时检查提示器的设置,并且上面用XML设置的所有内容(例如更新周期)都是正确的.
我正在开发一个用于打开/关闭手机摄像头的小部件.
我创建了一个可以像切换按钮(开/关)一样工作的小部件.
行为如下所示:当我启用小部件时,有时候led灯仍然亮着.但它不会打开/关闭相机,但它会改变图标.
我无法弄清楚实际问题是什么.
在Activity(火炬之光应用程序)中同样适用.
任何人都可以解释我如何解决我的问题?
我哪里错了?
你可以查看我到目前为止所做的代码
onUpdate 方法
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
//super.onUpdate(context, appWidgetManager, appWidgetIds);
remoteViews = new RemoteViews( context.getPackageName(), R.layout.widgetlayout);
watchWidget = new ComponentName( context, FlashLightWidget.class );
Intent intentClick = new Intent(context,FlashLightWidget.class);
intentClick.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, ""+appWidgetIds[0]);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, appWidgetIds[0],intentClick, 0);
remoteViews.setOnClickPendingIntent(R.id.myToggleWidget, pendingIntent);
appWidgetManager.updateAppWidget( watchWidget, remoteViews );
ctx=context;
}
Run Code Online (Sandbox Code Playgroud)
onReceive 方法如下:
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
remoteViews = new RemoteViews( context.getPackageName(), R.layout.widgetlayout);
if (intent.getAction()==null) …Run Code Online (Sandbox Code Playgroud) android widget android-widget android-camera android-appwidget
我想知道如何在Flutter中垂直和水平地将Text小部件的内容居中.我只知道如何使用Center(child: Text("test"))内容本身,而不是内容本身,它默认左对齐.在Android中,我相信调用实现此功能的TextView的属性gravity.
我想要的例子:
每次我使用一些图形工具包开始一个项目时,最先发生的冲突之一就是决定如何处理视觉设计和小部件布局:图形工具还是手工编码?
这是一个非常棘手/主观的问题,因为大多数人会根据个人喜好来决定.它还在很大程度上取决于图形工具的质量.在这种情况下,我想只关注最新版本的QT库.我不打算讨论哪种方法更好.我确信最好的答案是:取决于项目.
根据几个项目后的经验,我想要的是一篇好的非偏见文章的参考.这篇文章应该只描述两种选择的权衡
widget ×10
android ×5
qt ×3
alignment ×1
c++ ×1
coding-style ×1
cordova ×1
django ×1
django-forms ×1
flutter ×1
fullscreen ×1
imageview ×1
jquery ×1
linux ×1
qt-designer ×1
qwidget ×1
text ×1
typeface ×1