Android Добавление горизонтальной полосы прокрутки и вертикальной полосы прокрутки к представлению динамически - PullRequest
0 голосов
/ 10 мая 2011

HI,
У меня проблема с динамическим добавлением горизонтальной и вертикальной полосы прокрутки к представлению. В основном приложение увеличивает и уменьшает изображение. Я хочу динамически размещать горизонтальную и вертикальную полосу прокрутки всякий раз, когда вид выходит за границы. то есть, когда масштабирование является щелчком, и представление перестает быть связанным, тогда оно автоматически добавляет полосу прокрутки. Я использую эти два метода, но они не работают правильно.
setVerticalScrollBarEnabled (истина);
setHorizontalScrollBarEnabled (истина);
Должен ли я поместить эти методы в метод onDraw (холст холст) представления?
Примечание: я не создаю представление, используя файл XML. Я создаю представление с использованием класса, который унаследован от View.
Спасибо !!

1 Ответ

1 голос
/ 10 мая 2011

не совсем то же самое, но это может дать вам подсказку:

    mTextView = new TextView(this);
    mTextView.setGravity(Gravity.CENTER_VERTICAL);       
    mTextView.setText(R.string.instructions);
    mTextView.setTextColor(0xFF000000);
    mTextView.setPadding(20, 8, 8, 20);
    //mTextView.setBackgroundColor(0xCCFFFFFF);
    mTextView.setTextSize(TypedValue.COMPLEX_UNIT_PT, 8);

    mScroll = new ScrollView(this);
    mScroll.setScrollbarFadingEnabled(false);
    mTextPane = new RelativeLayout(this);
    mTextPane.setVisibility(View.GONE);
    //mScroll.setVisibility(View.GONE);

    mScroll.addView(mTextView);
    mTextPane.addView(mScroll);

    Resources res = getResources();
    Drawable drawable = res.getDrawable(R.drawable.text_pane_feather2);
    mTextPane.setBackgroundDrawable(drawable);

    RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams( 420, 420 );
    //mBackground.setImageBitmap(R.drawable.text_pane);
    lp.setMargins(0,0,0,30);
    lp.addRule(RelativeLayout.CENTER_HORIZONTAL );
    lp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);

    layout.addView(mTextPane, lp);
...