- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个带有 TextView 的应用小部件。
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/widgetText"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/defaultWidgetText"
android:gravity="center"
/>
</FrameLayout>
我正在尝试通过调用
来更改文本对齐方式views.setInt(R.id.widgetText, "setGravity", Gravity.CENTER);
来自 RemoteView。但它使“问题加载小部件”其他 setInt(...) 工作正常。
我不想创建另一个 TextView 或布局。还有其他方法可以改变重力吗?
最佳答案
所以...这是我的解决方案。小部件布局:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/top_left_text"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="invisible"
android:gravity="top|left"
/>
<TextView
android:id="@+id/top_text"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="invisible"
android:gravity="top|center_horizontal"
/>
<TextView
android:id="@+id/top_right_text"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="invisible"
android:gravity="top|right"
/>
<TextView
android:id="@+id/left_text"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="invisible"
android:gravity="left|center_vertical"
/>
<TextView
android:id="@+id/center_text"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="visible"
android:gravity="center"
/>
<TextView
android:id="@+id/right_text"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="invisible"
android:gravity="right|center_vertical"
/>
<TextView
android:id="@+id/bottom_left_text"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="invisible"
android:gravity="bottom|left"
/>
<TextView
android:id="@+id/bottom_text"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="invisible"
android:gravity="bottom|center_horizontal"
/>
<TextView
android:id="@+id/bottom_right_text"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="invisible"
android:gravity="bottom|right"
/>
</FrameLayout>
和 onUpdate(...) 方法:
widgetViews = new Hashtable<Integer, Integer>();
widgetViews.put(GRAVITY_TOP_LEFT, R.id.top_left_text);
widgetViews.put(GRAVITY_TOP, R.id.top_text);
widgetViews.put(GRAVITY_TOP_RIGHT, R.id.top_right_text);
widgetViews.put(GRAVITY_LEFT, R.id.left_text);
widgetViews.put(GRAVITY_CENTER, R.id.center_text);
widgetViews.put(GRAVITY_RIGHT, R.id.right_text);
widgetViews.put(GRAVITY_BOTTOM_LEFT, R.id.bottom_left_text);
widgetViews.put(GRAVITY_BOTTOM, R.id.bottom_text);
widgetViews.put(GRAVITY_BOTTOM_RIGHT, R.id.bottom_right_text);
Intent intent = new Intent(context, MinimalisticNotesWidgetActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_layout);
for(int id : widgetViews.values())
{
views.setViewVisibility(id, View.INVISIBLE);
}
int id = widgetViews.get(textGravity);
views.setOnClickPendingIntent(id, pendingIntent);
views.setTextViewText(id, widgetText);
views.setFloat(id, "setTextSize", fontSize);
views.setInt(id, "setTextColor", textColor);
views.setViewVisibility(id, View.VISIBLE);
附言我知道,这是一种糟糕的编码风格,但互联网上的其他变体看起来都一样 = (
关于android - RemoteViews + TextView + setGravity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7825508/
我为 Android 应用程序创建小部件(当然是用 Java)。我有从布局(使用布局 ID)创建的经典 RemoteViews RemoteViews rv = new RemoteViews(con
我一直在研究如何使用 RemoteView 创建自定义布局通知。 到目前为止,我能够使用 contentView 和 bigContentView 指向带有自定义布局 xml 的 RemoteView
我使用两个应用程序。一个通过 AIDL 接口(interface)公开一个 RemoteView。第二个使用 ListView 和自定义适配器来呈现 RemoteView。 使用一个布局和一个 Tex
我正在开发两个 android 应用程序,一个是 baseApp,另一个是 pluginApp。目的是在安装相应插件时扩展 baseApp 的功能。 pluginApp 将包含 XML 布局文件,其中
我正在尝试使用自定义远程 View 创建媒体播放器控件通知。我遇到的问题是,每次我在远程 View 中更改某些内容时,我都需要取消通知并从头开始重建它。这种方法对性能非常不利,因为它明显滞后。 (即将
我在更新服务中的自定义通知值时遇到问题。我使用 RemoteView 并希望每秒更新一次 textview,但我没有任何真正的想法来做这件事。这是我的代码: int icon = R.drawable
整个早上都在努力尝试放置文本“正在模拟”下的进度条。谁能帮帮我?添加图片: 最佳答案 如果您不想按照其他答案的建议使用 RelativeLayout,这里有一个选项。
我一直在到处搜索 RemoteViews 中支持的方法列表,但一无所获。任何人都可以链接资源或列出 RemoteViews 支持的所有可用方法吗?谢谢。 最佳答案 我假设您指的是 RemoteView
到目前为止,我一直使用 remoteViews.setImageViewBitmap() 直接将位图加载到我的 RemoteViews 中。总的来说它工作正常。 但是一些用户遇到了问题,我认为是在加载
我正在创建一个使用一些小部件的应用程序,我在 remoteView 上使用 setInt() 方法来更改背景源。这不是问题,但我想知道有关方法名称的文档在哪里。在 RemoteViews API 中,
来自 the documentation , RemoteViews 的构造函数是 public RemoteViews (String packageName, int layoutId) 文档说
我正在通过集成 RemoteViews 实现自定义推送通知。问题是,remoteview 中的按钮没有显示。我没有弄错我做错了什么。 代码: public class AlarmReceiver ex
我的 Assets 文件夹中有一些 SVG,我需要在我的小部件(在 ImageView 上)中动态设置它们。 我正在使用这个库:http://code.google.com/p/svg-android
所以,经过大量的摸索之后,我已经束手无策了。我的通知中有一个媒体播放器 RemoteViews,我希望能够访问播放、暂停、上一个和下一个按钮。 我知道 setOnClickPendingIntent(
Jelly Bean 中引入的扩展通知允许添加操作。这些操作显示为一行中的按钮。如果我想用我自己的自定义 View 修改它,我会考虑远程 View 。 扩展通知是否允许远程查看?在扩展通知存在之前,我
我想将 TextView 的高度远程设置为 WRAP_CONTENT。 我该怎么做,因为没有 remoteviews.setLayoutParams(viewId, param) 函数? 我尝试了 r
我正在尝试将值转发到 Android RemoteView。一些值可以通过使用反射的 set 方法转发。例如背景颜色作品: rv.setInt(R.id.viewId, "setBackgroundC
我尝试创建自定义通知,但收到以下异常: FATAL EXCEPTION: main android.app.RemoteServiceException: Bad notification poste
这个问题在这里已经有了答案: Is there a way to animate on a Home Widget? (5 个回答) 关闭6年前。 将动画应用于 RemoteViews 内的 View
我有问题。有时我的服务会被这个 logcat 强行关闭: 03-26 20:44:44.849: E/AndroidRuntime(12080): FATAL EXCEPTION: main 03-2
我是一名优秀的程序员,十分优秀!