Lebih
Bagaimana saya menempatkan perbatasan di sekitar Android textview?
Apakah mungkin untuk menggambar perbatasan sekitar textview?
690
19
Apakah mungkin untuk menggambar perbatasan sekitar textview?
Anda dapat mengatur shape drawable (persegi panjang) sebagai latar belakang untuk melihat.
Dan persegi panjang drawable back.xml (dimasukkan ke res/drawable folder):
Anda dapat menggunakan
@android:warna/transparan
untuk warna solid untuk memiliki latar belakang transparan. Anda juga dapat menggunakan padding untuk memisahkan teks dari perbatasan. untuk informasi lebih lanjut lihat: http://developer.android.com/guide/topics/resources/drawable-resource.htmlMari saya meringkas beberapa yang berbeda (non-programatik) metode.
Menggunakan shape drawable
Simpan kode berikut sebagai sebuah file XML di dalam folder drawable (misalnya, my_border.xml):
Kemudian mengaturnya sebagai latar belakang untuk anda TextView:
Bantuan lebih lanjut:
Menggunakan 9-patch
9-patch adalah merenggang gambar latar belakang. Jika anda membuat sebuah gambar dengan perbatasan maka akan memberikan anda TextView perbatasan. Semua yang perlu anda lakukan adalah membuat gambar dan kemudian set ke latar belakang di TextView.
Berikut adalah beberapa link yang akan menunjukkan cara untuk membuat 9-patch gambar:
Bagaimana jika saya hanya ingin perbatasan atas?
Menggunakan layer-daftar
Anda dapat menggunakan lapisan daftar untuk menumpuk dua persegi panjang di atas satu sama lain. Dengan membuat persegi panjang kedua hanya sedikit lebih kecil dari persegi panjang pertama, anda dapat membuat efek perbatasan. Yang pertama (yang lebih rendah) persegi panjang adalah warna border dan kedua persegi panjang adalah warna latar belakang.
Setelan
android:top="2dp"
offset atas (membuatnya lebih kecil) dengan 2dp. Hal ini memungkinkan pertama (yang lebih rendah) persegi panjang untuk menunjukkan melalui, memberikan efek perbatasan. Anda dapat menerapkan ini untuk TextView latar belakang dengan cara yang sama bahwabentuk
drawable dilakukan di atas.Berikut adalah beberapa link yang lebih tentang lapisan daftar:
Menggunakan 9-patch
Anda hanya dapat membuat 9-patch gambar dengan satu perbatasan. Segala sesuatu yang lain adalah sama seperti yang dibahas di atas.
Menggunakan View
Ini adalah jenis trik tapi itu bekerja dengan baik jika anda perlu untuk menambahkan seperator antara dua pandangan atau perbatasan untuk satu TextView.
Berikut adalah beberapa link:
Cara sederhana adalah dengan menambahkan sebuah view untuk anda TextView. Contoh untuk bagian bawah garis perbatasan:
Untuk arah lain perbatasan, silakan menyesuaikan lokasi pemisah melihat.
Saya telah memecahkan masalah ini dengan memperluas textview dan menggambar perbatasan secara manual. Aku bahkan ditambahkan sehingga anda dapat memilih jika perbatasan putus-putus atau putus-putus.
Dan perbatasan kelas:
Semoga ini bisa membantu seseorang :)
Aku hanya melihat jawaban serupa-- itu's dapat dilakukan dengan Stroke dan berikut ini menimpa:
Solusi yang paling sederhana I've ditemukan (dan yang benar-benar bekerja):
Anda dapat mengatur perbatasan dengan dua metode. Salah satunya adalah dengan drawable dan yang kedua adalah program.
Menggunakan Drawable
Program
Anda dapat menambahkan sesuatu seperti ini dalam kode anda:
Saya menemukan cara yang lebih baik untuk menempatkan perbatasan di sekitar sebuah TextView.
Menggunakan sembilan-patch gambar untuk latar belakang. It's cukup sederhana, SDK dilengkapi dengan alat untuk membuat 9-patch gambar, dan melibatkan benar-benar tidak ada **** coding.
Link ini http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch.
Periksa link di bawah ini untuk membuat sudut bulat http://androidcookbook.com/Recipe.seam?recipeId=2318
Folder ditarik, di bawah res, dalam sebuah proyek Android tidak dibatasi untuk bitmap (PNG atau JPG file), tetapi juga untuk mempertahankan bentuk yang didefinisikan dalam file XML.
Bentuk-bentuk ini kemudian dapat digunakan kembali dalam proyek. Bentuk ini dapat digunakan untuk menempatkan perbatasan di sekitar tata letak. Contoh ini menunjukkan perbatasan persegi dengan sudut melengkung. File baru yang disebut customborder.xml dibuat di folder drawable (di Eclipse menggunakan menu File dan pilih New kemudian File, dengan drawable folder yang dipilih ketik nama file dan klik Finish).
XML untuk mendefinisikan bentuk perbatasan yang dimasukkan:
Atribut android:bentuk` diatur untuk persegi panjang (bentuk file juga mendukung oval, garis, dan cincin). Persegi panjang adalah nilai default, sehingga atribut ini bisa ditinggalkan jika itu adalah persegi panjang yang didefinisikan. Lihat dokumentasi Android di bentuk di http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape untuk informasi rinci tentang bentuk file.
Unsur sudut set sudut persegi panjang yang akan dibulatkan. Hal ini dimungkinkan untuk mengatur radius yang berbeda pada masing-masing sudut (lihat Android referensi).
Padding atribut yang digunakan untuk memindahkan isi dari Tampilan yang bentuk ini diterapkan, untuk mencegah isi tumpang tindih perbatasan.
Warna perbatasan di sini adalah set ke abu-abu terang (CCCCCC heksadesimal RGB value).
Bentuk juga mendukung gradien, tetapi yang tidak digunakan di sini. Sekali lagi, melihat sumber daya Android untuk melihat bagaimana gradien didefinisikan. Bentuk ini diterapkan untuk laypout menggunakan
android:background="@drawable/customborder"
.Dalam tata letak tampilan lain dapat ditambahkan sebagai normal. Dalam contoh ini, satu TextView telah ditambahkan, dan teks putih (FFFFFF heksadesimal RGB). Latar belakang diatur ke biru, ditambah beberapa transparansi untuk mengurangi kecerahan (A00000FF heksadesimal alpha nilai RGB). Akhirnya tata letak offset dari layar edge dengan menempatkannya ke dalam tata letak dengan jumlah kecil padding. Lengkap tata letak file sehingga:
Aku punya cara untuk melakukan hal ini sangat sederhana, dan I'd ingin berbagi.
Ketika saya ingin persegi mi TextViews, saya hanya menempatkan mereka di sebuah LinearLayout. Aku mengatur warna latar belakang dari saya LinearLayout, dan saya tambahkan margin untuk saya TextView. Hasilnya persis seperti jika anda alun-alun TextView.
Di sini saya 'sederhana' kelas pembantu yang kembali ImageView dengan perbatasan. Hanya drop ini di utils, dan menyebutnya seperti ini:
Berikut ini adalah kode.
Mengubah Konstantin Burov menjawab karena tidak bekerja dalam kasus saya:
compileSdkVersion 26 (Android 8.0), minSdkVersion 21 (Android 5.0), targetSdkVersion 26, implementasi 'com.android.dukungan:appcompat-v7:26.1.0', gradle:4.1
Membuat perbatasan pemandangan dengan latar belakang warna sebagai warna border dan ukuran teks anda lihat. mengatur border melihat padding lebar perbatasan. Mengatur teks tampilan warna latar belakang seperti warna yang anda inginkan untuk tampilan teks. Sekarang tambahkan teks anda lihat di dalam perbatasan lihat.
Hal ini dapat membantu anda.
Anda dapat membuat latar belakang kustom untuk teks anda lihat. Langkah-langkah
android:background="@drawable/your_fileName"
Coba ini:
Ada banyak cara untuk menambahkan batas ke textView. Yang paling sederhana adalah dengan membuat custom drawable dan menetapkan sebagai
android:background="@drawable/textview_bg"
untuk textView.Yang textview_bg.xml akan pergi di bawah Drawables dan dapat menjadi sesuatu seperti ini. Anda dapat memiliki
solid
ataugradient
latar belakang (atau apa-apa jika tidak diperlukan),sudut
untuk menambahkan sudut radius danstroke
untuk menambahkan perbatasan.textview_bg.xml
Sebenarnya, itu adalah sangat sederhana. Jika anda ingin sederhana hitam persegi panjang belakang Textview, hanya menambahkan
android:background="@android:warna/hitam"
dalam TextView kategori. Seperti ini: