Ben ActionMode.Callback kullanıyorum seçilen metin üzerinde bir dinleyici kurmak ama seni düşünüyorum örneknasıl TextView
7
A
cevap
2
için ... Metin seçildiği tamamladığında bilmek gerekir yanıtı burada bulabilirsiniz:
Android Text Selection Listener
burada aradığınız anahtar terim, araştırmanızda size yardımcı olmak için, olduğunu Hedefinizin petek veya daha yeni olması koşuluyla.
API docs (içeriksel eylem modunu kullanarak" na inin)
Eğer kullanımlarına en büyük engel olan için aradığınızı bulmak bir kez açıklayan şeylerden bir ok bir iş yapmak, ama temelde neyi
- (
android:textIsSelectable="true"
veyasetTextIsSelectable(true);
- : yapmanız gereken gidiyoruz budur.
ActionMode.Callback
arabirimini uygular ve kendi menü öğelerini sağlamak seçilebilir olmasınıEditText
setNOT: Yukarıda belirtildiği gibi, bu yalnızca API düzeyi 11+ için çalışır. , daha önceki platformları hedefliyorsanız, numaralı metin için olayları almak çok daha karmaşıktır. .xml içinde
1
:
textview.setCustomSelectionActionModeCallback(new callback(textview));
...
public class callback implements Callback {
private TextView mTextView;
public callback(TextView text) {
this.mTextView = text;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
int start = mTextView.getSelectionStart();
int end = mTextView.getSelectionEnd();
Spannable wordtoSpan = (Spannable) mTextView.getText();
switch (item.getItemId()) {
case R.id.item_blue:
wordtoSpan.setSpan(new BackgroundColorSpan(Color.BLUE), start
, end,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
singlenton.getInstance().getDatabase().createMarkText(mTextView,Color.BLUE);
return true;
case R.id.item_green:
wordtoSpan.setSpan(new BackgroundColorSpan(Color.GREEN), start, end,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
singlenton.getInstance().getDatabase().createMarkText(mTextView,Color.GREEN);
return true;
case R.id.item_red:
wordtoSpan.setSpan(new BackgroundColorSpan(Color.RED), start, end,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
singlenton.getInstance().getDatabase().createMarkText(mTextView,Color.RED);
return true;
case R.id.item_yellow:
wordtoSpan.setSpan(new BackgroundColorSpan(Color.YELLOW), start, end,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
singlenton.getInstance().getDatabase().createMarkText(mTextView,Color.YELLOW);
return true;
case R.id.item_erase:
wordtoSpan.setSpan(new BackgroundColorSpan(Color.TRANSPARENT), start, end,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
singlenton.getInstance().getDatabase().createMarkText(mTextView,Color.TRANSPARENT);
return true;
}
return false;
}
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
mode.setTitle("Selecione a cor");
mode.getMenuInflater().inflate(R.menu.menu_text_context, menu);
return true;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
menu.removeItem(android.R.id.selectAll);
// Remove the "cut" option
menu.removeItem(android.R.id.cut);
// Remove the "copy all" option
menu.removeItem(android.R.id.copy);
return true;
}
}
: .class içinde
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textIsSelectable="true" />
İlgili konular
- 1. Bir TextView nasıl çizilir?
- 2. ImageView/textView diğerlerinin sağında nasıl eklenir ImageView/textView aynı düzende
- 3. TextView, EditText gibi nasıl görünür?
- 4. TextView için ColorStateList nasıl tanımlanır?
- 5. nasıl textview ve android için
- 6. Android'de TextView EditText dönüştürmek nasıl?
- 7. Android'de yuvarlak TextView nasıl oluşturulur?
- 8. bir TextView
- 9. Android: TextView
- 10. gtk textview
- 11. TextView yerçekimi
- 12. Android TextView
- 13. Android TextView Sarıcı
- 14. Espresso - TextView Dize içeriyor
- 15. textview metninde çizgi çizme
- 16. Bağlantı uzunluğunun TextView
- 17. Android IME: TextView
- 18. TextView Köprü çalışmıyor?
- 19. Android'de Scrolling Textview
- 20. TextView satır aralığını azaltma
- 21. Android'de ImageView içine TextView dönüştürmek nasıl
- 22. TextView üzerinde eğik olarak nasıl vurulur?
- 23. Seçilen Textview öğesinin rengi nasıl değiştirilir?
- 24. TextView içinde .rtf dosyası nasıl görüntülenir?
- 25. TextView boş olup olmadığını nasıl kontrol edilir?
- 26. html tablosu ile TextView
- 27. Android TextView Arka Plan
- 28. android append '...' sonunda textview
- 29. onFling for TextView Çalışmıyor
- 30. Bir TextView - Android