小编Mat*_* M.的帖子

BroadcastReceiver 和 ACTION_BOND_STATE_CHANGED 在 Android 9.0 中部分工作

我试图通过广播接收器捕获与 android 的配对过程中的事件。看起来,这BluetoothDevice.BOND_BONDING是可行的,但BluetoothDevice.BOND_BONDED不是。

在旧的 Android 版本中,此方法有效(尝试过 Android 6 和 7),但在较新的 Android 版本中(尝试过 Android 9,多种设备),此方法不起作用。为了重现这个问题,我做了一个简单的程序:

Java文件:


package com.example.bluetoothtest;
import android.bluetooth.BluetoothDevice;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends AppCompatActivity {

    BroadcastReceiver receiver;
    BluetoothDevice mDevice;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        receiver = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                String action = intent.getAction();
                if (BluetoothDevice.ACTION_BOND_STATE_CHANGED.equals(action)){
                    mDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
                    if (mDevice.getBondState() == …
Run Code Online (Sandbox Code Playgroud)

android android-bluetooth

8
推荐指数
1
解决办法
5287
查看次数

如何获得动态ListBox ItemTemplate水平拉伸ListBox的整个宽度?

我有一个普通的列表框,其中包含一个自定义模板来显示项目.我无法管理的是在列表框的完整widtg上水平拉伸模板.

我的问题是,主窗口中的所有元素都是动态放置的,并且它们会随着窗口大小更改的方法一起调整大小.我在网上搜索过,想法就是把Horizo​​ntalAligment ="Stretch".我尽可能地尝试过,没有取得重大成功.

我的xaml代码是这样的:

<UserControl x:Class="LiveGames.Dealer.UsersList"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         mc:Ignorable="d" 
         Background="Transparent">
<Border CornerRadius="10" BorderBrush="White" BorderThickness="2" >
     <Grid>
        <Grid.Resources>
            <DataTemplate x:Key="PlayerTemplate">
                <WrapPanel>
                    <Border CornerRadius="10" BorderBrush="White" BorderThickness="2" >
                        <Border.Background>
                            <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
                                <GradientStop Offset="0.0" x:Name="gradientOne_Name" Color="Red" />
                                <GradientStop Offset="1.0" x:Name="gradientTwo_Name" Color="DarkRed" />
                            </LinearGradientBrush>
                        </Border.Background>
                        <Grid >
                            <Grid.ColumnDefinitions x:Uid="5">
                                <ColumnDefinition  Width="*"/>
                            </Grid.ColumnDefinitions>
                            <Grid.RowDefinitions>
                                <RowDefinition Name="RowH" Height="50"/>
                            </Grid.RowDefinitions>

                            <!--  <TextBlock VerticalAlignment="Center" Margin="5" Grid.Column="0" Grid.Row="1" Text="Player: " FontSize="18" />-->
                            <TextBlock VerticalAlignment="Center" Margin="5" Grid.Column="0" Text="{Binding Path=ID}" FontSize="22" FontWeight="Bold"/>
                        </Grid>
                    </Border>
                </WrapPanel>
            </DataTemplate>
        </Grid.Resources>
        <Canvas>
            <ListBox …
Run Code Online (Sandbox Code Playgroud)

c# wpf listbox

1
推荐指数
1
解决办法
2029
查看次数

标签 统计

android ×1

android-bluetooth ×1

c# ×1

listbox ×1

wpf ×1