1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Android CardView卡片

Android CardView卡片

时间:2019-08-25 14:31:34

相关推荐

Android CardView卡片

Android 5.0 新增 CardView,CardView 继承自 FrameLayout 类,可以设置圆角和阴影等。

使用示例

配置build.gradle

app\build.gradle

implementation 'androidx.cardview:cardview:1.0.0'

xml布局

app\src\main\res\layout\activity_main.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="/apk/res/android"xmlns:app="/apk/res-auto"xmlns:tools="/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"android:orientation="vertical"><androidx.cardview.widget.CardViewandroid:id="@+id/test_cd"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:layout_gravity="center"app:cardBackgroundColor="#FFC0CB"app:cardCornerRadius="10dp"app:contentPadding="10dp"app:cardElevation="10dp"><RelativeLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"><ImageViewandroid:id="@+id/test_iv"android:layout_width="200dp"android:layout_height="200dp"android:src="@drawable/pic_16"/><TextViewandroid:id="@+id/test_tv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="hello world"android:layout_marginTop="10dp"android:layout_below="@+id/test_iv"android:layout_centerInParent="true"/></RelativeLayout></androidx.cardview.widget.CardView><LinearLayoutandroid:layout_marginTop="100dp"android:layout_marginLeft="20dp"android:layout_width="match_parent"android:layout_height="wrap_content"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="radius"/><SeekBarandroid:id="@+id/radius_sb"android:layout_width="200dp"android:layout_height="wrap_content"/></LinearLayout><LinearLayoutandroid:layout_marginTop="20dp"android:layout_marginLeft="20dp"android:layout_width="match_parent"android:layout_height="wrap_content"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="elevation"/><SeekBarandroid:id="@+id/elevation_sb"android:layout_width="200dp"android:layout_height="wrap_content"/></LinearLayout><LinearLayoutandroid:layout_marginTop="20dp"android:layout_marginLeft="20dp"android:layout_width="match_parent"android:layout_height="wrap_content"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="padding"/><SeekBarandroid:id="@+id/padding_sb"android:layout_width="200dp"android:layout_height="wrap_content"/></LinearLayout></LinearLayout>

MainActivity

app\src\main\java\com\example\mycardviewtest\MainActivity.java

import androidx.appcompat.app.AppCompatActivity;import androidx.cardview.widget.CardView;import android.os.Bundle;import android.util.Log;import android.view.Window;import android.widget.SeekBar;public class MainActivity extends AppCompatActivity {private static final String TAG = "AAAAAA";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);supportRequestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);CardView cardView = findViewById(R.id.test_cd);// 圆角SeekBar radius_sb = findViewById(R.id.radius_sb);radius_sb.setMax(200);// 阴影SeekBar elevation_sb = findViewById(R.id.elevation_sb);elevation_sb.setMax(200);// paddingSeekBar padding_sb = findViewById(R.id.padding_sb);padding_sb.setMax(200);radius_sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {@Overridepublic void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {Log.d(TAG, "onProgressChanged: " + progress);cardView.setRadius(progress);}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {}@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {}});elevation_sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {@Overridepublic void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {Log.d(TAG, "onProgressChanged: " + progress);cardView.setCardElevation(progress);}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {}@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {}});padding_sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {@Overridepublic void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {Log.d(TAG, "onProgressChanged: " + progress);cardView.setContentPadding(progress, progress, progress, progress);}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {}@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {}});}}

效果

示例代码地址

示例代码:地址

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。