相对于其他视图定位我的视图

时间:2014-07-17 11:07:37

标签: java android

我正在开发一个模拟器,它可以帮助天真的用户输入一段文字。我想要实现的是,我想将光标(ImageView)指向软键盘。经过大量的研究,我得出结论,我必须创建自己的软键盘作为我的XML的一部分,以便将光标指向键。所以我做到了。现在问题是光标的位置。目前布局如下:

http://imgur.com/A0gu7II

现在图像中的箭头已修复。让我们说它希望它指向字母K,我使用以下java代码:

 arrow.setX(keyK.getX()); arrow.setY(keyK.getY());

这是我的XML:

 <RelativeLayout
        android:id="@+id/keyboard"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="#000000" >

        <LinearLayout
            android:id="@+id/counting"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"
            android:layout_marginTop="3dp"
            android:gravity="center"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/key1"
                style="@style/countingKey"
                android:layout_width="0dp"
                android:layout_height="40dp"
                android:layout_weight=".10"
                android:onClick="keyPressed"
                android:text="@string/C1" />

            <Button
                android:id="@+id/key2"
                style="@style/countingKey"
                android:layout_width="0dp"
                android:layout_height="40dp"
                android:layout_weight=".10"
                android:onClick="keyPressed"
                android:text="@string/C2" />

            <Button
                android:id="@+id/key3"
                style="@style/countingKey"
                android:layout_width="0dp"
                android:layout_height="40dp"
                android:layout_weight=".10"
                android:onClick="keyPressed"
                android:text="@string/C3" />

            <Button
                android:id="@+id/key4"
                style="@style/countingKey"
                android:layout_width="0dp"
                android:layout_height="40dp"
                android:layout_weight=".10"
                android:onClick="keyPressed"
                android:text="@string/C4" />

            <Button
                android:id="@+id/key5"
                style="@style/countingKey"
                android:layout_width="0dp"
                android:layout_height="40dp"
                android:layout_weight=".10"
                android:onClick="keyPressed"
                android:text="@string/C5" />

            <Button
                android:id="@+id/key6"
                style="@style/countingKey"
                android:layout_width="0dp"
                android:layout_height="40dp"
                android:layout_weight=".10"
                android:onClick="keyPressed"
                android:text="@string/C6" />

            <Button
                android:id="@+id/key7"
                style="@style/countingKey"
                android:layout_width="0dp"
                android:layout_height="40dp"
                android:layout_weight=".10"
                android:onClick="keyPressed"
                android:text="@string/C7" />

            <Button
                android:id="@+id/key8"
                style="@style/countingKey"
                android:layout_width="0dp"
                android:layout_height="40dp"
                android:layout_weight=".10"
                android:onClick="keyPressed"
                android:text="@string/C8" />

            <Button
                android:id="@+id/key9"
                style="@style/countingKey"
                android:layout_width="0dp"
                android:layout_height="40dp"
                android:layout_weight=".10"
                android:onClick="keyPressed"
                android:text="@string/C9" />

            <Button
                android:id="@+id/key0"
                style="@style/countingKey"
                android:layout_width="0dp"
                android:layout_height="40dp"
                android:layout_weight=".10"
                android:onClick="keyPressed"
                android:text="@string/C0" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/qwe"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/counting"
            android:layout_marginBottom="5dp"
            android:gravity="center"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/keyQ"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".10"
                android:onClick="keyPressed"
                android:text="@string/Q" />

            <Button
                android:id="@+id/keyW"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".10"
                android:onClick="keyPressed"
                android:text="@string/W" />

            <Button
                android:id="@+id/keyE"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".10"
                android:onClick="keyPressed"
                android:text="@string/E" />

            <Button
                android:id="@+id/keyR"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".10"
                android:onClick="keyPressed"
                android:text="@string/R" />

            <Button
                android:id="@+id/keyT"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".10"
                android:onClick="keyPressed"
                android:text="@string/T" />

            <Button
                android:id="@+id/keyY"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".10"
                android:onClick="keyPressed"
                android:text="@string/Y" />

            <Button
                android:id="@+id/keyU"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".10"
                android:onClick="keyPressed"
                android:text="@string/U" />

            <Button
                android:id="@+id/keyI"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".10"
                android:onClick="keyPressed"
                android:text="@string/I" />

            <Button
                android:id="@+id/keyO"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".10"
                android:onClick="keyPressed"
                android:text="@string/O" />

            <Button
                android:id="@+id/keyP"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".10"
                android:onClick="keyPressed"
                android:text="@string/P" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/asd"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/qwe"
            android:layout_marginBottom="5dp"
            android:gravity="center"
            android:orientation="horizontal" >

            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight=".04"
                android:background="#000" >
            </TextView>

            <Button
                android:id="@+id/keyA"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".05"
                android:onClick="keyPressed"
                android:text="@string/A" />

            <Button
                android:id="@+id/keyS"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".05"
                android:onClick="keyPressed"
                android:text="@string/S" />

            <Button
                android:id="@+id/keyD"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".05"
                android:onClick="keyPressed"
                android:text="@string/D" />

            <Button
                android:id="@+id/keyF"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".05"
                android:onClick="keyPressed"
                android:text="@string/F" />

            <Button
                android:id="@+id/keyG"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".05"
                android:onClick="keyPressed"
                android:text="@string/G" />

            <Button
                android:id="@+id/keyH"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".05"
                android:onClick="keyPressed"
                android:text="@string/H" />

            <Button
                android:id="@+id/keyJ"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".05"
                android:onClick="keyPressed"
                android:text="@string/J" />

            <Button
                android:id="@+id/keyK"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".05"
                android:onClick="keyPressed"
                android:text="@string/K" />

            <Button
                android:id="@+id/keyL"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".05"
                android:onClick="keyPressed"
                android:text="@string/L" />

            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight=".04"
                android:background="#000" >
            </TextView>
        </LinearLayout>

        <LinearLayout
            android:id="@+id/zxc"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/asd"
            android:layout_marginBottom="5dp"
            android:gravity="center"
            android:orientation="horizontal" >

            <ImageButton
                android:id="@+id/shift"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".08"
                android:contentDescription="@string/hello_world"
                android:onClick="keyPressed"
                android:padding="10dp"
                android:src="@android:drawable/ic_menu_upload" />

            <Button
                android:id="@+id/keyZ"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".05"
                android:onClick="keyPressed"
                android:text="@string/Z" />

            <Button
                android:id="@+id/keyX"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".05"
                android:onClick="keyPressed"
                android:text="@string/X" />

            <Button
                android:id="@+id/keyC"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".05"
                android:onClick="keyPressed"
                android:text="@string/C" />

            <Button
                android:id="@+id/keyV"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".05"
                android:onClick="keyPressed"
                android:text="@string/V" />

            <Button
                android:id="@+id/keyB"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".05"
                android:onClick="keyPressed"
                android:text="@string/B" />

            <Button
                android:id="@+id/keyN"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".05"
                android:onClick="keyPressed"
                android:text="@string/N" />

            <Button
                android:id="@+id/keyM"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".05"
                android:onClick="keyPressed"
                android:text="@string/M" />

            <ImageButton
                android:id="@+id/backSpace"
                style="@style/Key"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".07"
                android:contentDescription="@string/hello_world"
                android:src="@android:drawable/ic_input_delete" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/space"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/zxc"
            android:gravity="center" >

            <Button
                android:id="@+id/sym"
                style="@style/spaceKey"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".20"
                android:onClick="keyPressed"
                android:text="@string/symbol" />

            <ImageButton
                android:id="@+id/settings"
                style="@style/spaceKey"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".15"
                android:contentDescription="@string/hello_world"
                android:onClick="keyPressed"
                android:padding="5dp"
                android:src="@drawable/settings" />

            <Button
                android:id="@+id/keySpace"
                style="@style/spaceKey"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".35"
                android:onClick="keyPressed"
                android:text="@string/space"
                android:textSize="12sp" />

            <Button
                android:id="@+id/keyDot"
                style="@style/spaceKey"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".10"
                android:onClick="keyPressed"
                android:text="@string/dot"
                android:textSize="25sp" />

            <ImageButton
                android:id="@+id/search"
                style="@style/spaceKey"
                android:layout_width="0dp"
                android:layout_height="45dp"
                android:layout_weight=".15"
                android:contentDescription="@string/hello_world"
                android:onClick="keyPressed"
                android:padding="5dp"
                android:src="@android:drawable/ic_menu_search" />
        </LinearLayout>

        <ImageView
            android:id="@+id/ivArrow"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:contentDescription="@string/hello_world"
            android:src="@drawable/arrow" />
    </RelativeLayout>

0 个答案:

没有答案