আমি এক সপ্তাহ ধরে এটির সাথে লড়াই করেছি এবং অবশেষে এই কাজটি কীভাবে করা যায় তা ভেবে দেখলাম!
আমার সমস্যাটি হ'ল সবকিছুই 'ব্লক' হিসাবে স্ক্রোল করে। পাঠ্যটি নিজেই স্ক্রোলিং ছিল, তবে এক লাইনের পরিবর্তে খণ্ড হিসাবে। এটি সম্ভবত আমার পক্ষে কাজ করে নি, কারণ এটি নীচে লাইনগুলি কেটে দেবে। পূর্ববর্তী সমস্ত সমাধান আমার পক্ষে কাজ করে না, তাই আমি নিজের তৈরি করেছি।
এখানে পর্যন্ত সবচেয়ে সহজ সমাধান:
একটি প্যাকেজের ভিতরে: 'পারফেক্টস্ক্রোলবেটেক্সটভিউ' নামে একটি শ্রেণি ফাইল তৈরি করুন, তারপরে এই কোডটি অনুলিপি করুন এবং এতে আটকান:
import android.content.Context;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.widget.TextView;
public class PerfectScrollableTextView extends TextView {
public PerfectScrollableTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
setVerticalScrollBarEnabled(true);
setHorizontallyScrolling(false);
}
public PerfectScrollableTextView(Context context, AttributeSet attrs) {
super(context, attrs);
setVerticalScrollBarEnabled(true);
setHorizontallyScrolling(false);
}
public PerfectScrollableTextView(Context context) {
super(context);
setVerticalScrollBarEnabled(true);
setHorizontallyScrolling(false);
}
@Override
protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {
if(focused)
super.onFocusChanged(focused, direction, previouslyFocusedRect);
}
@Override
public void onWindowFocusChanged(boolean focused) {
if(focused)
super.onWindowFocusChanged(focused);
}
@Override
public boolean isFocused() {
return true;
}
}
শেষ পর্যন্ত এক্সএমএলে আপনার 'টেক্সটভিউ' পরিবর্তন করুন:
থেকে: <TextView
প্রতি: <com.your_app_goes_here.PerfectScrollableTextView
maxLines
আপনার একটি স্বেচ্ছাসেবী সংখ্যা প্রবেশ করা প্রয়োজন; এটি এমন কিছু নয় যা প্রতিটি পর্দার আকার এবং হরফ আকারের জন্য কাজ করবে? আমি এটিকে কেবল একটি দিয়ে মুড়িয়ে ফেলা সহজ বলে মনেScrollView
করি, এর অর্থ হিসাবে আমাকে আর কোনও এক্সএমএল বৈশিষ্ট্য বা কোড যুক্ত করতে হবে না (যেমন চলাচলের পদ্ধতিটি সেট করার মতো)।