2016-02-11 42 views
2

我正在开发针对色盲的应用程序,我想知道是否可以使用Android中的辅助功能更改textView的textcolor。 此外,我想改变使用辅助功能的te​​xtSize。我可以使用Android中的辅助功能获取和设置textView的textcolor

我可以做这些事吗?如果是的话,怎么样?

+1

你是什么意思“使用辅助功能”? –

+1

辅助功能是Android中的一项功能,主要用于为特殊人员制作应用程序。看到这个链接 - http://developer.android.com/guide/topics/ui/accessibility/index.html – ankitjainb27

+0

你的目标是什么。不幸的是,这些信息都没有暴露于无障碍apis,但如果你告诉我你的目标,我可能会提供一个很好的替代解决方案... – ChrisCM

回答

-1

对于textview的文本大小,您可以使用'sp'而不是'dp'来提供大小。框架会自动处理大小。

而对于以上颜色@rakesh给出的答案可以是答案之一。

+0

在无障碍服务... – ChrisCM

1

不,你不能。你没有得到表示文本的实际TextView。您可以访问AccessibilityNodeInfo。可访问性API不提供此信息。如果您还控制了应用程序内容,那么您可以做一些黑客行为,但如果您想要一些可以在所有应用程序中普遍使用的功能,则无法执行此操作。

您可以通过检查TextView的大小来猜测文本的大小。 TextView的大小通过

aNodeInfo.getBoundsInScreen(resultBounds); 

虽然,这是非常hacky和不可靠的。视图的大小和文本大小不必相同,或者甚至远程相关。虽然通常用于单行TextViews会有紧密的相关性。值得注意的是,你无法检测TextView是单行的时候:)