只设置android:ellipsize="marquee"
,是不会有效果的。
方案1.
<TextView
android:id="@+id/tv"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:singleLine="true"
android:text="If you lose your purpose, it`s like you are broken."
android:textSize="16sp" />
在OnePlus 6,Android 10上无效。
方案2.
class LearnKotlinActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_learn_kotlin)
val tv = findViewById<TextView>(R.id.tv)
tv.text = "If you lose your purpose, it`s like you are broken."
tv.ellipsize = TextUtils.TruncateAt.MARQUEE
tv.setFocusable(true)
tv.isFocusableInTouchMode = true
tv.setSingleLine(true)
tv.isSelected = true
}
fun onClick(view: View) {
Toast.makeText(this, "As you wish!", Toast.LENGTH_SHORT)
.show()
startActivity(Intent("com.example.learnkotlin.SecondActivity"))
}
}
使用代码动态的进行配置,在OnePlus 6,Android 10上终于有效。tv.isSelected = true
这个还必须要有。。。