类似微信

package bw.com.bw_day09_sensor.demo03;

import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Vibrator;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.LinearLayout;

import bw.com.bw_day09_sensor.R;

public class SensorActivity03 extends AppCompatActivity implements SensorEventListener{

    private int[] images = {R.mipmap.image1,R.mipmap.image2,R.mipmap.image3};
    private int index;
    private SensorManager sensorManager;//传感器的管理器对象
    private Sensor sensor;//传感器
    private LinearLayout mLayout;

    //添加震动  -- 震动的管理器对象
    private Vibrator vibrator;

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

        mLayout = (LinearLayout) findViewById(R.id.layout_id);

        //声明震动管理器对象
        vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);

        //1, 获取传感器的管理器对象
        sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
        //2, 得到传感器对象
        sensor = sensorManager.getDefaultSensor(1);
    }
    //3, 注册监听

    @Override
    protected void onStart() {
        super.onStart();
        sensorManager.registerListener(this,sensor,200);
    }
    //4, 取消注册
    @Override
    protected void onStop() {
        super.onStop();
        sensorManager.unregisterListener(this);
    }

    //5, 得到数值的变化
    @Override
    public void onSensorChanged(SensorEvent event) {
        //TODO  数据发生变化的回调方法
        //获得数据
        float[] data = event.values;
        float x = data[0];
        float y = data[1];
        float z = data[2];
        if (Math.abs(x)>15 || Math.abs(y)>15 || Math.abs(z)>15){

            //添加切换图片的震动

            //毫秒:  300  摇晃多长时间开始震动  , 500 震动的持续时间
            long[] pattern = {300,500};
            //重复次数 , -1 不重复
            vibrator.vibrate(pattern,-1);

            //不停的改变layout 的背景
            if (index>2)
            {
                index = 0;
            }
            mLayout.setBackgroundResource(images[index]);
            index++;
        }
    }
    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {
        //TODO 精度发生变化的回调方法
    }


}



所需权限
<uses-permission android:name="android.permission.VIBRATE" />


### 回答1: WinForm是一种基于Windows操作系统的开发平台,支持基于Windows桌面环境的应用程序开发,而微信聊天窗口是一种常见的聊天界面控件。那么有哪些类似微信聊天窗口的控件WinForm的呢?以下是几种常见的控件: 1. RichTextBox控件:RichTextBox控件是WinForm中常用的文本编辑控件,可以用来显示和编辑富文本内容,比如支持字体、颜色、样式等。通过RichTextBox控件的属性和事件可以实现类似微信聊天界面的输入框和消息显示区域。 2. ListView控件:ListView控件是WinForm中显示数据的控件,可以用于显示多列数据和图片,支持丰富的视图模式和样式选择。通过自定义ListView控件的列样式、行样式和鼠标事件实现类似微信聊天消息列表的显示效果。 3. DataGridView控件:DataGridView控件是WinForm中的表格控件,支持显示大量数据和交互编辑。通过自定义DataGridView控件的列样式和行样式可以实现类似微信聊天消息列表的显示效果,同时DataGridView控件支持和数据源绑定,可以方便地管理和修改数据。 4. Panel控件:Panel控件是WinForm中的容器控件,支持排列其它控件和设置背景图片。通过Panel控件的自定义绘制和鼠标事件可以实现类似微信聊天消息区域的显示效果。 这些控件都可以在WinForm开发中使用,通过组合和自定义可以实现类似微信聊天窗口的功能。 ### 回答2: Winform是一种基于Windows操作系统的可视化开发工具,可以使用C#、VB.NET、C++等编程语言来创建Windows应用程序。在这些应用程序中,常常需要使用到类似微信聊天窗口的控件。以下是几种类似微信聊天窗口的控件: 1. RichTextBox控件。这是Winform中一个常用的文本编辑控件,可以实现文本显示、编辑、格式化等功能。通过设置文本颜色、字体、大小、对齐方式等属性,可以实现类似微信聊天窗口的样式。 2. ListView控件。这是一个用于显示列表数据的控件,在Winform中使用较为广泛。通过设置列表项的背景色、字体、大小等属性,可以实现类似微信聊天窗口的样式。 3. Label控件。这是Winform中简单的文本标签控件,通常用于显示较短的文本信息。通过设置控件背景色、字体、边框等属性,可以实现类似微信聊天窗口的样式。 4. Panel控件。这是Winform中用于容纳其他控件的容器控件,可以自由设置背景色、边框、大小等属性,用于实现类似微信聊天窗口的布局。 5. FlowLayoutPanel控件。这是Winform中用于自适应布局的面板控件,可以实现流式布局。通过设置其中的子控件的大小、背景色、边框等属性,可以实现类似微信聊天窗口的样式。 以上是常用的几种类似微信聊天窗口的控件,它们各自有不同的特点和用途。在Winform开发中,我们可以根据具体需求选择合适的控件来实现所需的功能和界面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值