图像共享到多个活动

时间:2017-10-08 04:51:49

标签: java android

enter image description here

大家好,我想在右上角添加一个图像,它可以与WeChat等所有活动共享相同的数据,如通话时间,OnClickListener。

我有一个xml如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout   xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/calling"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="right">

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="25dp"
        android:layout_marginLeft="15dp"
        android:layout_marginRight="15dp"
        android:layout_marginTop="25dp"
        android:background="@color/colorActive">

        <ImageView
            android:id="@+id/phone"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:padding="2dp"
            android:scaleX="0.8"
            android:scaleY="0.8"
            android:src="@mipmap/ic_launcher_round" />

        <TextView
            android:id="@+id/timer"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/phone"
            android:layout_centerHorizontal="true"
            android:paddingBottom="2dp"
            android:paddingLeft="2dp"
            android:text="00:00"
            android:textColor="@android:color/white" />

    </RelativeLayout>

</LinearLayout>

但我不知道如何实现此功能。我尝试将基本活动和这个xml用于我想要的所有活动。它看起来不太合理。 FAB?甚至更复杂。我在网上搜索了很多,没有类似的例子。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

将您发布的xml放在一个separete布局文件中(比如call_button.xml)

现在创建一个名为BaseActivity的活动,并使所有其他活动扩展它。

在所有其他活动的xml中,添加以下代码:

<include
    android:id="@+id/callButton"
    layout="@layout/call_button" />

现在在BaseActivity处理点击。

findViewById(R.id.callButton).setOnClickListener(new View.OnClickListener(){
    public void onClick(View v){
        //do your task.
    }
});