亲爱的,我正在尝试设置 TextView 在 appwidget 中的位置。
基本上,直接访问 TextView 的属性是可行的:
myRemoteView.setTextColor(R.id.myTextView, Color.WHITE); //works
此外,我还可以间接访问 TextView 属性:
myRemoteView.setInt(R.id.myTextView, "setTextColor", Color.BLUE); // works
设置浮点值也有效:
myRemoteView.setFloat(R.id.myTextView, "setTextSize", 25); // works
现在我尝试将 TextView 的 x 位置移动 5 个像素:
myRemoteView.setFloat(R.id.myTextView, "setTranslationX", 5); // does not work
myRemoteView.setFloat(R.id.myTextView, "setX", 5); // does not work
myRemoteView.setInt(R.id.myTextView, "setLeft", 5); // does not work
我尝试了 FrameLayout 和 RelativeLayout,还有 AbsoluteLayout(折旧)。什么都不管用。但必须有办法做到这一点。你能帮忙吗?
最佳答案
回答时,RemoteViews API 不允许您设置翻译或位置
但是,您可以通过为 TextView 的父级设置填充来实现所需的效果
RemoteViews#setViewPadding(int, int, int, int, int, int)
或者,从 API 31 开始,您还可以为 TextView 设置边距
RemoteViews#setViewLayoutMargin(int, int, float, int)
关于android - 在运行时设置 TextView 在 RemoteView 中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6153484/