在本文中,我们将在Android的工具栏中创建一个简单的共享按钮。共享按钮用于将邮件,蓝牙,Facebook,Twitter,WhatsApp等上的信息共享给任何社交媒体上的个人或团体。我们可以共享任何类型的消息,例如文本,图像,视频,链接等。请注意,我们使用Java作为编程语言。下面提供了一个示例视频,以了解我们将在此项目中进行的操作。
分步实施
步骤1:创建一个新项目
要在Android Studio中创建新项目,请参阅如何在Android Studio中创建/启动新项目。请注意,选择Java作为编程语言。
步骤2:建立新的Android资源目录
转到res文件夹,右键单击它 并按照下图所示的步骤创建一个新的Android资源目录。
现在,右键单击“ Android资源目录”,将打开一个新选项卡。如下所示:
给您的目录命名,然后单击“确定”。创建一个新的Android资源目录。
步骤3:创建菜单资源文件
转到菜单目录,右键单击它,然后按照下面给出的图像进行操作:
现在,右键单击“菜单资源目录”,然后如下图所示进行操作:
为您的文件命名,然后单击“确定”。新的菜单资源文件已创建。
步骤4:建立图示
导航到res> drawable。现在,右键单击可绘制文件夹,然后按照以下图像进行操作:
现在右键单击 Vector Asset并执行如下所示:
i)通过单击剪贴画选择图标,然后搜索图标共享。
如果要为图标提供一些名称,请在“名称”中写入,否则将生成默认名称。
ii)通过单击颜色选项为图标选择一种颜色
单击选择,然后下一步并完成,您的图标已创建。此处默认提供ic_baseline_share_24 。
步骤5:使用main_menu.xml
导航到res>菜单> main_menu.xml,然后将以下代码添加到该文件中。
XML
XML
Java
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu, menu);
// first parameter is the file for icon and second one is menu
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
// We are using switch case because multiple icons can be kept
switch (item.getItemId()) {
case R.id.shareButton:
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
// type of the content to be shared
sharingIntent.setType("text/plain");
// Body of the content
String shareBody = "Your Body Here";
// subject of the content. you can share anything
String shareSubject = "Your Subject Here";
// passing body of the content
sharingIntent.putExtra(Intent.EXTRA_TEXT, shareBody);
// passing subject of the content
sharingIntent.putExtra(Intent.EXTRA_SUBJECT, shareSubject);
startActivity(Intent.createChooser(sharingIntent, "Share using"));
break;
}
return super.onOptionsItemSelected(item);
}
}
步骤6:使用activity_main.xml文件
导航到应用程序> res>布局> activity_main.xml,然后将以下代码添加到该文件中。以下是activity_main.xml文件的代码。
XML格式
第7步:使用 主要活动。 Java文件
转到MainActivity。 Java文件并添加下面给出的代码。我们在这里实现了两个方法public boolean onCreateOptionsMenu()和public boolean onOptionsItemSelected() 。下面是MainActivity的代码。 Java文件。在代码内部添加了注释,以更详细地了解代码。
Java
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu, menu);
// first parameter is the file for icon and second one is menu
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
// We are using switch case because multiple icons can be kept
switch (item.getItemId()) {
case R.id.shareButton:
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
// type of the content to be shared
sharingIntent.setType("text/plain");
// Body of the content
String shareBody = "Your Body Here";
// subject of the content. you can share anything
String shareSubject = "Your Subject Here";
// passing body of the content
sharingIntent.putExtra(Intent.EXTRA_TEXT, shareBody);
// passing subject of the content
sharingIntent.putExtra(Intent.EXTRA_SUBJECT, shareSubject);
startActivity(Intent.createChooser(sharingIntent, "Share using"));
break;
}
return super.onOptionsItemSelected(item);
}
}
输出:
您可以使用任何媒体,例如Facebook,WhatsApp,电子邮件,消息传递,蓝牙等来共享您的消息。