直播系統程式碼,自定義軟鍵盤樣式:字母、數字、標點三種切換

zhibo系統開發發表於2022-07-05

直播系統程式碼,自定義軟鍵盤樣式:字母、數字、標點三種切換

在需要的呼叫軟鍵盤的activity_mian.xml中加入鍵盤控制元件

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center_horizontal">
 
    <android.inputmethodservice.KeyboardView
        android:id="@+id/keyboard_view"
        android:shadowRadius="0.0"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:keyPreviewLayout="@layout/key_preview_layout"
        android:background="#D6D9DE"
        android:keyBackground="@drawable/btn_keyboard_key"
        android:keyTextColor="#747474"
        android:keyTextSize="36dp"
        android:paddingTop="10dp"
        android:paddingBottom="10dp"
        android:paddingLeft="95dp"
        android:paddingRight="95dp"
        android:visibility="gone"
        />
</RelativeLayout>


1.1

  android:keyPreviewLayout="@layout/key_preview_layout"這個是長按鍵盤時彈出框的樣式,如果不寫,系統預設,預設的有時會會看不清

key_preview_layout.xml:

 
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:textSize="40sp"
          android:textColor="@android:color/white"
          android:gravity="center"
          android:background="#80929299"/>


1.2

android:keyBackground="@drawable/btn_keyboard_key"按鍵的形狀

 
btn_keyboard_key.xml:
 
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="
    android:shape="rectangle">
    <solid android:color="#FFFFFFFF"/>
    <corners android:topLeftRadius="8dip"
        android:topRightRadius="8dip"
        android:bottomRightRadius="8dip"
        android:bottomLeftRadius="8dip" />
</shape>

2.然後在res資料夾下新建資料夾,裡面新建三個檔案,即每種鍵盤樣式的佈局分別為qwerty.xml, symbols.xml, punctuate.xml


 字母鍵盤-qwerty.xml:

<?xml version="1.0" encoding="UTF-8"?>
<Keyboard android:keyWidth="100dp" android:keyHeight="60dp"
   android:horizontalGap="10dp" android:verticalGap="15dp"
   xmlns:android=">
   <Row>
      <Key android:codes="113" android:keyEdgeFlags="left"
         android:keyLabel="q"  />
      <Key android:codes="119" android:keyLabel="w" />
      <Key android:codes="101" android:keyLabel="e" />
      <Key android:codes="114" android:keyLabel="r" />
      <Key android:codes="116" android:keyLabel="t" />
      <Key android:codes="121" android:keyLabel="y" />
      <Key android:codes="117" android:keyLabel="u" />
      <Key android:codes="105" android:keyLabel="i" />
      <Key android:codes="111" android:keyLabel="o" />
      <Key android:codes="112" android:keyEdgeFlags="right"
         android:keyLabel="p" />
   </Row>
   <Row>
      <Key android:horizontalGap="4.999995%p" android:codes="97"
         android:keyEdgeFlags="left" android:keyLabel="a" />
      <Key android:codes="115" android:keyLabel="s" />
      <Key android:codes="100" android:keyLabel="d" />
      <Key android:codes="102" android:keyLabel="f" />
      <Key android:codes="103" android:keyLabel="g" />
      <Key android:codes="104" android:keyLabel="h" />
      <Key android:codes="106" android:keyLabel="j" />
      <Key android:codes="107" android:keyLabel="k" />
      <Key android:codes="108" android:keyEdgeFlags="right"
         android:keyLabel="l" />
   </Row>
   <Row>
      <Key android:keyWidth="110dp" android:codes="-1"
         android:keyEdgeFlags="left" android:isModifier="true"
         android:horizontalGap="33dp"
         android:isSticky="true" android:keyIcon="@drawable/shift" />
      <Key android:codes="122" android:keyLabel="z" android:horizontalGap="30dp"/>
      <Key android:codes="120" android:keyLabel="x" />
      <Key android:codes="99" android:keyLabel="c" />
      <Key android:codes="118" android:keyLabel="v" />
      <Key android:codes="98" android:keyLabel="b" />
      <Key android:codes="110" android:keyLabel="n" />
      <Key android:codes="109" android:keyLabel="m" />
      <Key android:keyWidth="110dp" android:codes="-5"
         android:horizontalGap="30dp"
         android:keyEdgeFlags="right" android:isRepeatable="true"
         android:keyIcon="@drawable/delete" />
   </Row>
   <Row android:rowEdgeFlags="bottom">
      <Key android:keyWidth="110dp" android:codes="-2" android:horizontalGap="43dp"
         android:keyIcon="@drawable/number" />
      <Key android:keyWidth="110dp" android:codes="46"
         android:keyIcon="@drawable/point" />
      <Key android:keyWidth="540dp" android:codes="32"
         android:isRepeatable="true" android:keyIcon="@drawable/space" />
      <Key android:keyWidth="110dp" android:codes="47"
         android:keyIcon="@drawable/gang"/>
      <Key android:keyWidth="110dp" android:codes="-3"
         android:keyEdgeFlags="right" android:keyIcon="@drawable/complete" />
   </Row>
</Keyboard>


以上就是直播系統程式碼,自定義軟鍵盤樣式:字母、數字、標點三種切換, 更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2904313/,如需轉載,請註明出處,否則將追究法律責任。

相關文章