ShareActionProvider Example
This is a provider for a share action. It is responsible for creating views that enable data sharing and also to show a sub menu with sharing activities if the hosting item is placed on the overflow menu.
ShareActionProvider เป็นการสร้างเมนู สำหรับ การ Share มีเมนูย่อย ให้เลือกใช้งาน
Adding an Action Provider
Similar to an action view, an action provider replaces an action button with a customized layout. However, unlike an action view, an action provider takes control of all the action's behaviors and an action provider can display a submenu when pressed.
To declare an action provider, supply the
actionViewClass
attribute in the menu <item>
tag with a fully-qualified class name for anActionProvider
.
You can build your own action provider by extending the
ActionProvider
class, but Android provides some pre-built action providers such as ShareActionProvider
, which facilitates a "share" action by showing a list of possible apps for sharing directly in the action bar (as shown in figure 6).
Because each
ActionProvider
class defines its own action behaviors, you don't need to listen for the action in theonOptionsItemSelected()
method. If necessary though, you can still listen for the click event in the onOptionsItemSelected()
method in case you need to simultaneously perform another action. But be sure to return false
so that the the action provider still receives the onPerformDefaultAction()
callback to perform its intended action.
However, if the action provider provides a submenu of actions, then your activity does not receive a call to
onOptionsItemSelected()
when the user opens the list or selects one of the submenu items.
MainActivity.java Code
package
android.example.actionbarshare;
import
android.app.Activity;
import
android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import
android.widget.ShareActionProvider;
public class MainActivity extends Activity {
private ShareActionProvider mShareActionProvider;
@Override
public void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
public boolean
onCreateOptionsMenu(Menu menu) {
/** Inflating the
current activity's menu with res/menu/items.xml */
getMenuInflater().inflate(R.menu.items, menu);
/** Getting the actionprovider
associated with the menu item whose id is share */
mShareActionProvider =
(ShareActionProvider) menu.findItem(R.id.share).getActionProvider();
/** Setting a share
intent */
mShareActionProvider.setShareIntent(getDefaultShareIntent());
return super.onCreateOptionsMenu(menu);
}
/** Returns a share intent */
private Intent getDefaultShareIntent(){
Intent
intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT, "SUBJECT");
intent.putExtra(Intent.EXTRA_TEXT,"Extra
Text");
return intent;
}
}
res/menu/items.xml
<?xml version="1.0"
encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
>
<item
android:id="@+id/share"
android:title="@string/share"
android:showAsAction="ifRoom"
android:actionProviderClass="android.widget.ShareActionProvider"
/>
</menu>
Download ShareActionProvider Example Code
สอนเขียน Android สอนเขียนโปรแกรม Android แบบ Online
รับสอนเขียนโปรแกรม Android App สอนแบบ online สอนสด ตัวต่อตัว หรือ เป็นกลุ่ม ได้ทั่วประเทศ กำหนดเวลาเรียนได้
การเรียน Android App แบบ online สามารถกำหนดเวลาเรียน เองได้ ตามแต่ตกลงกัน
( รับสอน นอกสถานที่ แบบเป็น กลุ่ม ทั่วประเทศ )
แต่ละ Course ขึ้นอยู่กับพื้นฐานที่มี นะครับ
Course
1.JAVA Programming สำหรับผู้ที่ยังไม่มีพื้นฐานทางด้าน การเขียนโปรแกรม JAVA
เรียน 3-4 ครั้ง ครั้งละ 2 ชั่วโมง
2.Beginning Android Development เริ่มต้นการพัฒนาด้วย Android ( ต้องมีพื้นฐาน JAVA แล้ว )
เรียน 5-6 ครั้ง ครั้งละ 2 ชั่วโมง
เรียนจบคอร์สนี้ ก็สามารถทำ Application ได้แล้ว
3.Android Application สอนตามความต้องการในการเขียนโปรแกรม ใช้งานจริง เช่น โปรแกรมใช้งานด้านต่างๆ
ระยะเวลา และ ค่าเรียน ตามแต่ความยากง่ายของโปรแกรม ซึ่งอาจจะรวมสอน JAVA Programming ด้วยสำหรับผู้เริ่มต้นเลย
ดังนั้น ราคาสอน จะขึ้นอยู่กับ สเปคงาน
โปรแกรมที่ใช้ทำการเรียน Team Viewer Version ล่าสุด Version 8
Meeting ID จะแจ้งให้ก่อนเรียน ผ่านทาง email sms Line หรือ อื่นๆ ตามสะดวก
ใช้ Tab Meeting ใส่ Meeting ID และใส่ชื่อ
แล้ว Join Meeting
ติดต่อ amphancm@gmail.com
ติดต่อ amphancm@gmail.com