2014-11-25 64 views
4

我有一個按鈕的佈局。點擊按鈕後,我應該能夠獲得「操作欄共享按鈕」(我們可以使用ShareActionProvider實現)的相同功能。試圖在網上尋找一個例子;但找不到一個。這可能嗎?使用ShareActionProvider與佈局中的按鈕

回答

4

是的,您可以通過觸發一個隱式意圖來響應按鈕點擊來實現相同的功能。如下面的例子:

Main.java

public class MAIN extends Activity { 


@Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 


} 

public void SHARE(View view) { 

    // Do something in response to button 

    EditText content = (EditText) findViewById(R.id.editText1); 
    String shareBody = content.getText().toString(); 
     Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); 
      sharingIntent.setType("text/plain"); 
      sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "\n\n"); 
      sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody); 
      startActivity(Intent.createChooser(sharingIntent, getResources().getString(R.string.a5))); 

} 
} 

layout_main.java

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="${relativePackage}.${activityClass}" > 



      <TextView 
       android:id="@+id/textView1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentTop="true" 
       android:layout_centerHorizontal="true" 
       android:layout_marginTop="31dp" 
       android:text="@string/MS1" 
       android:gravity="center" 
       android:textAppearance="?android:attr/textAppearanceMedium" /> 

      <EditText 
       android:id="@+id/editText1" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_below="@+id/textView1" 
       android:layout_centerHorizontal="true" 
       android:layout_marginTop="36dp" 
       android:ems="10" > 

       <requestFocus /> 
      </EditText> 

      <Button 
       android:id="@+id/button1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_below="@+id/editText1" 
       android:layout_centerHorizontal="true" 
       android:layout_marginTop="50dp" 
       android:onClick="SHARE" 
       android:text="SEND" /> 

</RelativeLayout> 

希望這有助於。