如何在文本视图中突出显示 Java 语法?
How to highlight Java syntax in a textview?
我知道这是一个老问题,但可用的答案对于 android 的较新版本无效或贬值。请提供适用于 Android 5.0 及更高版本的解决方案。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView = findViewById(R.id.text);
String javacode="import java.util.Scanner;\n" +
"class Addigit\n" +
"{\n" +
"public static void main(String args[])\n" +
"{\n" +
"Scanner sc=new Scanner(System.in);\n" +
"System.out.println(\"enter the no..\");\n" +
"int n=sc.nextInt();\n" +
"int fd=n%10;\n" +
"int rd=n/10;\n" +
"int sd=rd%10;\n" +
"rd=rd/10;\n" +
"int td=rd%10;\n" +
"System.out.println((fd+sd+td));\n" +
"}\n" +
"}";
textView.setText(javacode);
}
如何像 Whosebug 使用此 java 代码或类似于 Android studio 所做的那样突出显示语法。
尝试使用这个
String javacode="Your Java Code";
Pattern pattern = Pattern.compile("float"); //Java keyword
Matcher m = pattern.matcher(javacode);
SpannableString str = new SpannableString(javacode);
while (m.find()) {
str.setSpan(new BackgroundColorSpan(Color.YELLOW), m.start(), m.end()-1, 0);
}
textView.setText(str);
我知道这是一个老问题,但可用的答案对于 android 的较新版本无效或贬值。请提供适用于 Android 5.0 及更高版本的解决方案。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView = findViewById(R.id.text);
String javacode="import java.util.Scanner;\n" +
"class Addigit\n" +
"{\n" +
"public static void main(String args[])\n" +
"{\n" +
"Scanner sc=new Scanner(System.in);\n" +
"System.out.println(\"enter the no..\");\n" +
"int n=sc.nextInt();\n" +
"int fd=n%10;\n" +
"int rd=n/10;\n" +
"int sd=rd%10;\n" +
"rd=rd/10;\n" +
"int td=rd%10;\n" +
"System.out.println((fd+sd+td));\n" +
"}\n" +
"}";
textView.setText(javacode);
}
如何像 Whosebug 使用此 java 代码或类似于 Android studio 所做的那样突出显示语法。
尝试使用这个
String javacode="Your Java Code";
Pattern pattern = Pattern.compile("float"); //Java keyword
Matcher m = pattern.matcher(javacode);
SpannableString str = new SpannableString(javacode);
while (m.find()) {
str.setSpan(new BackgroundColorSpan(Color.YELLOW), m.start(), m.end()-1, 0);
}
textView.setText(str);