具有可见性标准的透明面板 - Android

时间:2011-11-07 11:28:20

标签: android

我想创建一个带有两个按钮的透明面板,上一个和下一个。

因为我正在使用两个edittext框。如果我点击任何编辑文本框,该面板变得可见,我可以通过上一个和下一个按钮在edittext中移动。

我该怎么做?

2 个答案:

答案 0 :(得分:0)

在android中,你需要采用一个包含两个按钮的布局,例如线性布局,其方向为水平,背景为#00000000(表示透明)。

<LinearLayout android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/linearLayout1" android:gravity="center_horizontal" android:background="#00000000">
    <Button android:text="Button" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
    <Button android:text="Button" android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</LinearLayout>

答案 1 :(得分:0)

这是你问题的解决方案。我在这里使用了两个编辑文本,这样你就可以理解当我们专注于第二次编辑文本并从中删除焦点时,id“layout01”将如何可见和不可见(点击第二次编辑文本或将焦点带到那里你会在屏幕底部显示“上一页”和“下一页”按钮。)

XML代码: -

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" 
    >
    <LinearLayout android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:orientation="vertical"
                    android:id="@+id/layout00"
                    >  

    <EditText android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:id="@+id/edit0" 
              android:text="first write here"
              android:editable="false"/>

    <EditText android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:id="@+id/edit1" 
              android:text="after that write here"
              android:editable="false"/>

    </LinearLayout>

    <TableLayout   android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:orientation="vertical"
                    android:id="@+id/layout01"
                    android:gravity="bottom|center"
                    android:visibility="invisible">

        <TableRow > 

        <Button android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/previous"
                android:text="Privious"
                android:layout_weight="1"/>

        <Button android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/next"
                android:text="Next"
                android:layout_weight="1"/>  

        </TableRow>
    </TableLayout>

</RelativeLayout>

Java代码: -

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.TableLayout;

public class Edit extends Activity{

    TableLayout tl;
    EditText et;
    //int flag = 0;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.edit);

        et = (EditText)findViewById(R.id.edit1);
        tl = (TableLayout)findViewById(R.id.layout01);


       et.setOnFocusChangeListener(new View.OnFocusChangeListener() {

        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            // TODO Auto-generated method stub
            if(hasFocus){
            tl.setVisibility(1);
               }
                else{
                    tl.setVisibility(8);
                    Log.d("without focus", "it should be here");
                } 
        }
        });

    }
}