2016-05-12 2 views
0

私はTextViewを持っており、長い内容が含まれています。これらのテキストビューは読み取り専用であり、スクロールは提供されません。そのため、テキスト全体でテキストビューには表示されません。今私は、longClickイベントでトーストメッセージを表示したいと思います。しかし、トーストメッセージは画面の下部に表示されます。選択したTextViewのすぐ下にどのように表示できますか?トーストメッセージの長い内容をトーストメッセージとして表示するandroid

final Toast viewToast = Toast.makeText(getActivity(), packageId.getText().toString(), Toast.LENGTH_LONG); 
    packageId.setOnLongClickListener(new View.OnLongClickListener() { 
     @Override 
     public boolean onLongClick(View v) { 

      viewToast.show(); 
      return false; 
     } 
    });` 
+1

トーストが長いメッセージのためではありません、あなたのトーストのカスタムを作成してみます。 –

答えて

0

あなたは、この方法を使って、別の場所でトーストを表示することができます。

customToast.setGravity(Gravity.TOP|Gravity.LEFT, 0, 0); 

カスタムの場所については、私は見ることができますどのように

For custom position please go through this link

0

このURLからアクセスしてください選択したTextViewのすぐ下にありますか?

XとYオフセット付きのTextViewまたは任意のViewを使用Toast.setGravity法の下のトースト表示するには:あなたの条件に応じてxOffsetyOffsetを使用して活動ウィンドウ上のトーストの

int coordinates[] = new int[2]; 
textView.getLocationInWindow(coordinates); 
int xOffset=coordinates[0]+getWidth()/2; 
int yOffset=coordinates[1]+ getHeight; 
viewToast.setGravity(Gravity.TOP|Gravity.LEFT,xOffset,yOffset); 
viewToast.show(); 

変更位置を。

0

ではなく、ダイアログを使用。..

<ImageView android:id="@+id/image1" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:layout_marginRight="10dp" /> 

<TextView android:id="@+id/text1" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:textColor="#FFF" /> 

Javaコード

LayoutInflater inflater = getLayoutInflater(); 
View layout = inflater.inflate(R.layout.toast_layout, 
           (ViewGroup) findViewById(R.id.toast_layouts)); 

ImageView image = (ImageView) layout.findViewById(R.id.image1); 
image.setImageResource(R.drawable.android); 
TextView text = (TextView) layout.findViewById(R.id.text1); 
text.setText("Type your long message here"); 

Toast toast = new Toast(getApplicationContext()); 
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0); 
toast.setDuration(Toast.LENGTH_LONG); 
toast.setView(layout); 
toast.show(); 
関連する問題