启用textIsSelectable为true后,当我用手指滑动时,我的文本会停止滑动

时间:2016-05-21 18:35:14

标签: java android ios

将textIsSelectable设置为true后,文本将停止滑动,但是我会通过手指轻触文本滑动来触摸任何其他位置。怎么了?在将textisselectable设置为true后,我希望我的文本可以刷卡,我希望我的用户可以复制到clipbord并轻扫。但当我删除textIsSelectable设置为true时,页面轻松滑动。什么是错的?请问任何建议的帮助?我将不胜感激。

android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<TextView
    android:layout_marginTop="50dp"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:textColor="@color/colorAccent"
    android:textSize="25sp"
    android:text="my favorite Quotes" />


<ViewFlipper
    android:id="@+id/view_flipper"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_margin="6dip"
    android:background="#FF312828"
    >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center"
        android:orientation="vertical" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:text="@string/Jim_Rohn"
            android:textColor="#FFC7C7EA"
            android:textSize="20sp"
            android:textIsSelectable="true"
            android:textStyle="bold">
        </TextView>

        <ImageView
            android:layout_marginTop="10dp"
            android:layout_width="150dp"
            android:layout_height="150dp"
            android:src="@drawable/jimrohn" />

    </LinearLayout>


    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center"
        android:orientation="vertical" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:text="@string/ludwig_wittgenstein"
            android:textColor="#FFC7C7EA"
            android:textSize="20sp"
            android:textIsSelectable="true"
            android:textStyle="bold">
        </TextView>

        <ImageView
            android:layout_marginTop="10dp"
            android:layout_width="150dp"
            android:layout_height="150dp"
            android:src="@drawable/ludwigwittgenstein" />

    </LinearLayout>

和java

@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
    menu.add(0, v.getId(), 0, "Favorite Quotes");
    TextView textView = (TextView) v;
    ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
    clipboard.setText(textView.getText());
    super.onCreateContextMenu(menu, v, menuInfo);
}

1 个答案:

答案 0 :(得分:0)

由于设置textIsSelectable(true)的值也会将标记focusablefocusableInTouchModeclickablelongClickable设置为{{1} }。因此,在您的情况下,您希望手动将这些其他标志重新设置为其默认值或先前在其中设置的值。我的建议是将所有这些设置为true,尤其是之前未设置为任何值的那些。 所以你可以在代码中这样做:

false

我希望这有帮助,让我知道它是怎么回事。