Java 在同一颜色背景上滚动时,如何更改textView颜色?
我有一个文本视图,它的颜色是白色的,但是当我滚动这个文本视图时,它会出现在具有相同颜色的imageView上面。 如果我滚动文本视图,它进入了暗图像视图的范围,文本将不会显示,因为它的颜色与imageView相同,我想在文本视图位于imageView上方时更改文本视图的颜色Java 在同一颜色背景上滚动时,如何更改textView颜色?,java,android,Java,Android,我有一个文本视图,它的颜色是白色的,但是当我滚动这个文本视图时,它会出现在具有相同颜色的imageView上面。 如果我滚动文本视图,它进入了暗图像视图的范围,文本将不会显示,因为它的颜色与imageView相同,我想在文本视图位于imageView上方时更改文本视图的颜色 这不是你问题的确切答案,但可能是你问题的解决方案 对TextView具有50%透明度的白色背景。这样,它在白色部分看起来会相同,在蓝色部分会使文本可读。我像您一样使用了ScrollView,并在addOnScrollChan
这不是你问题的确切答案,但可能是你问题的解决方案
对TextView具有50%透明度的白色背景。这样,它在白色部分看起来会相同,在蓝色部分会使文本可读。我像您一样使用了ScrollView,并在addOnScrollChangedListener中检索了Y坐标 在Y坐标中达到特定数字后,我将更改所需的字体颜色,并在返回到原始坐标后,将原始颜色返回给他
//Definition of Object
ScrollView scrollView ;
TextView textView ;
scrollView = findViewById(R.id.scrollView);
textView = findViewById(R.id.tx);
使用滚动视图的方法。这是
例如:
scrollView.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {
@Override
public void onScrollChanged() {
int scrollY = scrollView.getScrollY(); // vertical scroll position
int scrollX = scrollView.getScrollX(); // horizontal scroll position
if (scrollY <= 100 || scrollY == 150)
textView.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.blue));
else if (scrollY >= 151)
textView.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.red));
}
});
scrollView.getViewTreeObserver().addOnScrollChangedListener(新的ViewTreeObserver.OnScrollChangedListener(){
@凌驾
public void onScrollChanged(){
int scrollY=scrollView.getScrollY();//垂直滚动位置
int scrollX=scrollView.getScrollX();//水平滚动位置
如果(滚动=151)
setTextColor(ContextCompat.getColor(getApplicationContext(),R.color.red));
}
});
注意:为了清晰起见,这些数字仅在比较中可用
例如。你可以根据需要更换
多做点clear@SauravKumar现在编辑,如果我滚动文本视图,它进入了暗图像视图的范围,文本将不会显示,因为它的颜色与imageView相同,当textViewcolor位于imageView上方时,我想更改它。您如何滚动textview?我认为在imageView上方滚动textview不是一个好主意,您确定这是您想要的吗?@SauravKumar它位于一个嵌套的滚动视图中,包含其他元素,活动背景从顶部开始有彩色部分。