Ayy*_*pan 35 android material-design android-cardview
我在android材料设计中使用卡片视图浮动动作按钮.我正在使用以下代码获取圆圈
<android.support.v7.widget.CardView
android:id="@+id/fab"
android:layout_width="38dp"
android:layout_height="38dp"
android:layout_marginBottom="10dp"
android:layout_marginRight="10dp"
card_view:background="@color/blue"
card_view:cardCornerRadius="19dp"
card_view:cardPreventCornerOverlap = "false"
card_view:cardElevation="6dp" >
</android.support.v7.widget.CardView>
Run Code Online (Sandbox Code Playgroud)
我将拐角半径设置为宽度的一半.但我仍然无法得到圆形.
Ayy*_*pan 22
我已经解决了这个问题.现在android提供了用于材质设计的设计库,其中包含FloatingActionButton.无需为浮动操作按钮自定义卡片视图.
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin" />
Run Code Online (Sandbox Code Playgroud)
在gradle依赖项中添加设计库
compile 'com.android.support:design:23.1.1'
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅此链接
Ale*_*kov 17
要使用卡片视图获得完美的圆形,角半径应为宽度或高度的1/2(考虑到它是正方形).另外,我注意到你正在使用card_view参数,不要.
<android.support.v7.widget.CardView
android:layout_width="38dp"
android:layout_height="38dp"
app:cardCornerRadius="19dp"
app:cardElevation="6dp"
android:layout_marginBottom="10dp"
android:layout_marginRight="10dp"
android:id="@+id/fab"
android:background="@color/blue"
>
Run Code Online (Sandbox Code Playgroud)
sil*_*rol 15
要使用卡片视图实现圆形形状,您可以设置形状属性,android:shape ="ring".
app:cardCornerRadius应设置为子视图宽度或高度的一半
<android.support.v7.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:innerRadius="0dp"
android:shape="ring"
app:cardCornerRadius="75dp">
<ImageView
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_gravity="center"
android:background="@drawable/image" />
</android.support.v7.widget.CardView>
Run Code Online (Sandbox Code Playgroud)
使用
shape ="ring"
使用相同的layout_height和layout_weight
和
app:cardCornerRadius = layout_height或layout_weight的一半
例
<android.support.v7.widget.CardView
android:id="@+id/cardview"
android:layout_width="110dp"
android:layout_height="110dp"
android:shape="ring"
app:cardCornerRadius="55dp">
</android.support.v7.widget.CardView>
Run Code Online (Sandbox Code Playgroud)
我想出了使用Drawable的简单解决方案,它看起来很神奇!
获取Drawable https://drive.google.com/open?id=0B4Vo_ku-aIKzUFFnUjYxYVRLaGc
小智 6
<androidx.cardview.widget.CardView
android:layout_width="60dp"
android:layout_marginStart="150dp"
app:cardCornerRadius="360dp"
android:layout_height="60dp">
Run Code Online (Sandbox Code Playgroud)
我尝试了你的代码,发现卡片在卡片高度值的增加方面不那么圆.尝试将其设置为零,这至少使它看起来更好.
card_view:cardElevation="0dp";
Run Code Online (Sandbox Code Playgroud)
但是一个可能更好的选择是使用FloatingActionButton
圆形按钮
<android.support.design.widget.FloatingActionButton
android:src="@drawable/your_drawble_name"
app:fabSize="normal"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
28148 次 |
最近记录: |