自定义view+接口回调切换activity
来源:互联网 发布:如何注销淘宝达人账号 编辑:程序博客网 时间:2024/06/07 08:22
MainActivity
private MyTextView mytextview;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mytextview = (MyTextView) findViewById(R.id.mytextview); mytextview.setMysetonimageclicklistener(this);}@Overridepublic void setonimageclicklistener(View view) { startActivity(new Intent(this,TwoActivity.class));}
Activity_Main布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="60dp" tools:context="com.aqinga.lianxi2.MainActivity"> <com.aqinga.lianxi2.MyTextView android:id="@+id/mytextview" android:layout_width="match_parent" android:layout_height="match_parent" app:text_title="MainActivity" app:text_size="16dp" app:text_color="@color/colorAccent" app:src_color="@color/colorPrimary"></com.aqinga.lianxi2.MyTextView></RelativeLayout>
MyTextView
public class MyTextView extends LinearLayout { private TextView text; private ImageView image; private int srccolor; private float size; private int color; private String title; private TypedArray typedArray; private RelativeLayout content; public MyTextView(Context context) { super(context); init(context,null); } public MyTextView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); init(context,attrs); } public void init(Context context,AttributeSet attrs){ View inflate = inflate(context, R.layout.mytextview, this); content = (RelativeLayout) inflate.findViewById(R.id.recontent); image = (ImageView) findViewById(R.id.image_view); text = (TextView) findViewById(R.id.text_view); image.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (mysetonimageclicklistener!=null){ mysetonimageclicklistener.setonimageclicklistener(v); } } }); if(attrs==null){ return; } init1(context,attrs); selected(); } public void init1(Context context,AttributeSet attrs){ if (attrs==null){ return; } typedArray = context.obtainStyledAttributes(attrs, R.styleable.MyTextView); title = typedArray.getString(R.styleable.MyTextView_text_title); color = typedArray.getColor(R.styleable.MyTextView_text_color, Color.GRAY); size = typedArray.getDimension(R.styleable.MyTextView_text_size, 16); srccolor = typedArray.getColor(R.styleable.MyTextView_src_color, Color.RED); } public void selected(){ content.setBackgroundColor(srccolor); text.setText(title); text.setTextColor(color); text.setTextSize(size); } public interface onimageclicklistener{ void setonimageclicklistener(View view); } private onimageclicklistener mysetonimageclicklistener; public void setMysetonimageclicklistener(onimageclicklistener mysetonimageclicklistener) { this.mysetonimageclicklistener = mysetonimageclicklistener; }}
mytextview布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="60dp" android:id="@+id/recontent" android:background="#ff9999" > <ImageView android:id="@+id/image_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:src="@mipmap/ic_launcher"/> <TextView android:id="@+id/text_view" android:text="text" android:gravity="center" android:layout_centerHorizontal="true" android:layout_width="wrap_content" android:layout_height="match_parent" /></RelativeLayout>
TwoActivity
public class TwoActivity extends AppCompatActivity implements MyTextView.onimageclicklistener { private MyTextView mytextview; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.twoactivity); mytextview = (MyTextView) findViewById(R.id.mytextview); mytextview.setMysetonimageclicklistener(this); } @Override public void setonimageclicklistener(View view) { finish(); }}
twoactivity布局
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:orientation="horizontal" android:layout_height="60dp" xmlns:app="http://schemas.android.com/apk/res-auto"> <com.aqinga.lianxi2.MyTextView android:id="@+id/mytextview" android:layout_width="match_parent" android:layout_height="60dp" app:text_title="TwoActivity" app:text_size="16dp" app:text_color="@color/colorPrimary" app:src_color="@color/colorAccent"></com.aqinga.lianxi2.MyTextView></RelativeLayout>
attrs布局
<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="MyTextView"> <attr name="text_title" format="string"></attr> <attr name="text_size" format="dimension"></attr> <attr name="text_color" format="color"></attr> <attr name="src_color" format="reference"></attr> </declare-styleable></resources>
阅读全文
0 0
- 自定义view+接口回调切换activity
- Android-自定义View组件切换Activity界面
- 自定义Activity切换效果
- Activity自定义切换动画
- 自定义activity切换动画
- 自定义activity切换动画
- 自定义Activity切换动画
- 自定义View+接口回调 圆进度条+二维码+梯形布局
- Activity切换和View切换动画
- 点击加载圆形进度条,进入扫描二维码界面,接口回调,自定义view/组合view
- 接口的使用—自定义view点击事件的接口回调
- 自定义view文本点击切换
- 圆形进度条+二维码扫描+自定义组合控件标题栏+自定义矩形view+接口回调方法
- Activity转View实现Tab切换
- android 通过setContentView切换Activity的View
- Android中的接口回调机制(自定义View——TopBar讲解)
- Android中使用回调接口实现自定义view的点击事件
- (安卓) 自定义View 绘画圆(包括简单的接口回调)
- 使用 ipmitool 实现 Linux 系统下对服务器的 ipmi 管理
- STL(十四)multimap多重映照容器
- composer 安装laravel 框架
- ROC与AUC
- Linux入门命令
- 自定义view+接口回调切换activity
- 1737:贪吃的大嘴
- makefile笔记(1)
- 比特币源码解析(7)
- 用单链表实现快速排序
- openldap安装使用
- Java中的阻塞队列
- spring配置datasource三种方式
- B树B+树