如何让我的输出看起来如下?

时间:2015-07-17 15:43:12

标签: android android-layout android-studio

我正在开发一个Android应用程序,因为我有一个名为邀请的页面,如下图所示,在该图像中,John和Danny是我的textview输出。

如果我点击任何文字视图,我需要在面板下方显示我当前的textview名称和三个按钮,而不是如下图所示的弹出窗口

______________________________________
|                                    |
| John Bday                          |
|____________________________________|
|                                    |
| Dany Bday  (on tap)                |
|____________________________________|
|                                    |
|  Dany Bday                         |
|   _       _        _               |
|  |_|YES  |_|No    |_| May Be       |
|____________________________________|

我在这里有textview代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:divider="?android:dividerVertical"
    android:showDividers="middle"
    android:dividerPadding="5dp"
    android:id="@+id/invitation_single"
    tools:context=".MainActivity" >
        <TextView
            android:id="@+id/name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/black"
            android:paddingLeft="5dp"
            android:paddingRight="0dp"
            android:paddingTop="3dp"
            android:textSize="18sp"
            android:textStyle="bold"
            />
    </LinearLayout>

任何人都可以帮助我。谢谢。

2 个答案:

答案 0 :(得分:0)

setOnclickListener()上使用TextView方法。 在onClick()方法中,进行所需的更改。

TextView name = (TextView) findViewById(R.id.name);
TextView setTV = (TextView) findViewById(R.id.setTV); 



//use the id of the TextView where you want to set the name to instead of setTV

name.setOnClickListener(new OnClickListener() {

        void onClick(View view) {
             String name = name.getText().toString();
             setTV.setText(name);
        }

});

将此TextView setTV保留在xml文件中。只是不要设置任何文本。所以,什么都不会显示出来。只有在点击name TextView时,此文字才会设置为setTV并且可见。

这也可以动态完成。为此,您可以查看有关如何动态添加TextView的其他资源。

对于CheckBoxButton,可以采用这种静态初始化方法,最初通过设置android:visibility="gone"的值将它们设置为不可见。

并动态设置它们以在onClick()方法中可见。 通过调用setVisiblity(View.Visible);Button

上的CheckBox方法

答案 1 :(得分:0)

您需要像这样创建xml布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:layout_orientation="vertical">
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:divider="?android:dividerVertical"
 android:showDividers="middle"
 android:dividerPadding="5dp"
 android:id="@+id/invitation_single"
 tools:context=".MainActivity" >
    <TextView
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="@color/black"
        android:paddingLeft="5dp"
        android:paddingRight="0dp"
        android:paddingTop="3dp"
        android:textSize="18sp"
        android:textStyle="bold"
        />
</LinearLayout>
<--the layout for showing the pop up kinda thing with visibility flase 
with id="hidden"-->
</LinearLayout>

以编程方式,您需要根据onTouchListener将可见性设置为true。

像这样:

View.setOnTouchListener(new OnTouchListener() {

        public boolean onTouch(View v, MotionEvent event) {
            v.findElementById("hidden");
            v.setVisibility(true);
        }
 }

使用自定义适配器可以添加多个值。