📜  使用 Kotlin 在 Android 中下标和上标字符串

📅  最后修改于: 2022-05-13 01:55:14.769000             🧑  作者: Mango

使用 Kotlin 在 Android 中下标和上标字符串

在科学中,定义上下文的科学表达式是根据上下文规则组合有限数量的符号。所以在基本意义上,这样的表达是由各种书写风格或文字组成的,如小写、大写、符号、数字、下标、上标等。

将下标和上标应用于文本

因此,在本文中,我们将向您展示如何在 Android 的 TextView 中将下标或上标应用于文本。 IDE 准备就绪后,请按照以下步骤操作。

分步实施

第 1 步:在 Android Studio 中创建一个新项目

要在 Android Studio 中创建新项目,请参阅如何在 Android Studio 中创建/启动新项目。我们在 Kotlin 中演示了该应用程序,因此请确保在创建新项目时选择Kotlin作为主要语言。

第 2 步:使用 activity_main.xml 文件

导航到app > res > layout > activity_main.xml并将以下代码添加到该文件。下面是activity_main.xml文件的代码。添加一个 Textview 来显示表达式。

XML


  
    
  


Kotlin
package org.geeksforgeeks.subscriptsuperscript
  
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.text.Spannable
import android.text.SpannableStringBuilder
import android.text.style.RelativeSizeSpan
import android.text.style.SubscriptSpan
import android.text.style.SuperscriptSpan
import android.widget.TextView
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // Declaring and initializing 
        // the TextView from the layout file
        val mTextView = findViewById(R.id.text_view_1)
  
        // Declaring a string
        val mString = "A2 + B6"
  
        // Creating a string span
        val mStringSpan = SpannableStringBuilder(mString)
  
        // Subscripting the string span for "2"
        mStringSpan.setSpan(SubscriptSpan(), 1, 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
          
        // Setting the text size ratio for "2" 
        // with respect to rest of the span
        mStringSpan.setSpan(RelativeSizeSpan(0.5f),1, 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
          
        // Superscripting the string span for "6"
        mStringSpan.setSpan(SuperscriptSpan(), 6, 7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
          
        // Setting the text size ratio for "6" with
        // respect to rest of the span
        mStringSpan.setSpan(RelativeSizeSpan(0.5f),6, 7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
  
        // Setting the string
        // span to TextView
        mTextView.text = mStringSpan
    }
}


第 3 步:使用 MainActivity.kt 文件

转到MainActivity.kt文件并参考以下代码。下面是MainActivity.kt文件的代码。代码中添加了注释以更详细地理解代码。

科特林

package org.geeksforgeeks.subscriptsuperscript
  
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.text.Spannable
import android.text.SpannableStringBuilder
import android.text.style.RelativeSizeSpan
import android.text.style.SubscriptSpan
import android.text.style.SuperscriptSpan
import android.widget.TextView
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // Declaring and initializing 
        // the TextView from the layout file
        val mTextView = findViewById(R.id.text_view_1)
  
        // Declaring a string
        val mString = "A2 + B6"
  
        // Creating a string span
        val mStringSpan = SpannableStringBuilder(mString)
  
        // Subscripting the string span for "2"
        mStringSpan.setSpan(SubscriptSpan(), 1, 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
          
        // Setting the text size ratio for "2" 
        // with respect to rest of the span
        mStringSpan.setSpan(RelativeSizeSpan(0.5f),1, 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
          
        // Superscripting the string span for "6"
        mStringSpan.setSpan(SuperscriptSpan(), 6, 7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
          
        // Setting the text size ratio for "6" with
        // respect to rest of the span
        mStringSpan.setSpan(RelativeSizeSpan(0.5f),6, 7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
  
        // Setting the string
        // span to TextView
        mTextView.text = mStringSpan
    }
}

输出:

您可以看到字符串按需要显示。

输出