• Xamarin.Android 制作搜索框


      前段时间仿QQ做了一个搜索框样式,个人认为还不错,留在这里给大家做个参考,希望能帮助到有需要的人。

    首先上截图(图1:项目中的样式,图2:demo样式):

    不多说直接上代码:

    Main.axml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#000000">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_weight="1"
            android:layout_height="match_parent"
            android:orientation="horizontal">
            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="25dp"
                android:focusable="true"
                android:focusableInTouchMode="true"
                android:layout_marginTop="10dp"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:background="@drawable/search_back">
                <ImageView
                    android:layout_width="23dp"
                    android:layout_marginTop="2dp"
                    android:layout_height="23dp"
                    android:layout_marginLeft="5dp"
                    android:padding="2dp"
                    android:layout_marginBottom="2dp"
                    android:src="@drawable/icon_query" />
                <EditText
                    android:id="@+id/et_search"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_marginLeft="30dp"
                    android:padding="2dp" 
                    android:background="@null"
                    android:hint="搜索"
                    android:layout_gravity="center_vertical"
                    android:singleLine="true"
                    android:textSize="17sp"
                    android:textColor="#000000" />
            </RelativeLayout>
        </LinearLayout>
    </LinearLayout>

    MainActivity.cs

    using Android.App;
    using Android.Widget;
    using Android.OS;
    using Android.Views;
    using Android.Runtime;
    using System;
    using Android.Views.InputMethods;
    
    namespace SearchDemo
    {
        [Activity(Label = "SearchDemo", MainLauncher = true)]
        public class MainActivity : Activity, View.IOnKeyListener
        {
            EditText et_search; 
    
            protected override void OnCreate(Bundle savedInstanceState)
            {
                base.OnCreate(savedInstanceState);
    
                // Set our view from the "main" layout resource
                SetContentView(Resource.Layout.Main);
    
                et_search = (EditText)FindViewById(Resource.Id.et_search);
                et_search.ImeOptions = Android.Views.InputMethods.ImeAction.Search;     //修改键盘按钮
                et_search.SetOnKeyListener(this);
            }
    
            public bool OnKey(View v, [GeneratedEnum] Keycode keyCode, KeyEvent e)
            {
                if (keyCode == Keycode.Enter || keyCode == Keycode.Search)
                {
                    InputMethodManager imm = (InputMethodManager)this.GetSystemService(InputMethodService);
                    if (imm != null)
                    {
                        imm.HideSoftInputFromWindow(Window.DecorView.WindowToken, 0);       //隐藏键盘
                    }
                }
                Toast.MakeText(this, et_search.Text, ToastLength.Short).Show();
                return false;
            }
        }
    }

    search_bcak.xml

    <shape xmlns:android="http://schemas.android.com/apk/res/android">
      <solid android:color="#F5F5F5" />
      <corners 
        android:topLeftRadius="4dp" 
        android:topRightRadius="4dp" 
        android:bottomRightRadius="4dp" 
        android:bottomLeftRadius="4dp" />
      <!--<stroke
         android:width="1dp"  
        />-->
    </shape>

    到这里就结束了,其实现方法很简单,大多数都写了注释,如果哪里有问题可随时联系我~

  • 相关阅读:
    物质的物理属性·基础整理
    点分治
    洛谷 P3806 【模板】点分治1
    因式分解
    小石潭记
    反演原理及二项式反演
    《庄子》二则
    FFT快速傅里叶变换
    mysql 密码相关
    django基础
  • 原文地址:https://www.cnblogs.com/swjian/p/10566766.html
Copyright © 2020-2023  润新知