【问题标题】:Why to use a CardView + TextView combo instead of a single Button?为什么要使用 CardView + TextView 组合而不是单个 Button?
【发布时间】:2018-02-12 09:15:55
【问题描述】:

当在后台声明按钮而不是通常的按钮时,我在项目代码中到处都可以看到这样的情况。这样做的开发人员 - 现在不工作。为什么会这样?是否有一些表现获胜?或者什么原因? 以及如何使用 ConstraineLayout 实现相同的效果?谢谢。

<android.support.v7.widget.CardView
            android:id="@+id/confirm_phone_btn_container"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/confirm_phone_text_input_layout"
            android:layout_centerHorizontal="true"
            android:layout_gravity="center_horizontal"
            android:layout_marginBottom="22dp"
            android:layout_marginTop="32dp"
            android:background="@color/edit_info_btn_inactive"
            app:cardBackgroundColor="@color/blue"
            app:cardCornerRadius="3dp"
            app:cardElevation="2dp"
            app:cardPreventCornerOverlap="false"
            app:cardUseCompatPadding="false">

            <TextView
                android:id="@+id/confirm_phone_change_txt"
                android:layout_width="118dp"
                android:layout_height="36dp"
                android:layout_gravity="center_horizontal"
                android:background="@color/edit_info_btn_inactive"
                android:clickable="true"
                android:gravity="center"
                android:includeFontPadding="false"
                android:text="@string/change"
                android:textAllCaps="true"
                android:textColor="@color/white"
                android:textSize="14sp"
                android:textStyle="bold" />

        </android.support.v7.widget.CardView>

【问题讨论】:

  • 首先你不应该问我们为什么他们这样做。这只是他们的选择。我认为CardView + TextView 的工作速度比Button 慢。可能他们更容易以这种方式设置视图样式,但只有他们自己知道。
  • 每日提示永远不要让随机的开发人员解释其他开发人员的工作,这将是一场灾难:P。就像弗拉德说的那样,一个简单的视图可以很好地工作,而不是使用 cardView+ textview。以及为什么要使用约束布局?为什么不使用自定义设计的简单视图。
  • 您还可以使用带有自定义选择器的可点击 TextView 作为背景。更少的浏览量,更少的痛苦:P
  • 因为他对他的经理很生气,可能他的意图是放慢这个应用程序的速度。放下这些东西,只考虑如何改进这些代码,不管他为什么这样做。
  • @yozhik 你可以为所欲为。看这里 - stackoverflow.com/a/7607130/5914345

标签: android android-layout android-cardview android-constraintlayout


【解决方案1】:

在您的活动 xml 文件中添加卡片视图

 <androidx.cardview.widget.CardView
        android:id="@+id/cardview_btn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="**onClickCardview**">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:orientation="vertical"
            android:padding="16dp">

            <ImageView
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:src="@drawable/image" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="text test"/>

        </LinearLayout>

    </androidx.cardview.widget.CardView>

在您的活动 java 文件中添加以下代码

public void onClickCardview(View view){
        //your code here
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-05
    • 1970-01-01
    • 1970-01-01
    • 2013-01-04
    • 1970-01-01
    • 2013-12-07
    • 2015-05-03
    相关资源
    最近更新 更多