gpt4 book ai didi

android - 将 CardView 高程重置为默认值(静止高程)

转载 作者:行者123 更新时间:2023-12-04 00:15:06 25 4
gpt4 key购买 nike

我想换一个CardView的高程并稍后重置。

目前,我将海拔的默认值(称为 静止海拔 )保留为 onCreateView 中的字段值的 Fragment .稍后当我想重置时,将值设置为 setCardElevation .

private CardView cardView;
private float restingElevation;
private float pickedUpState = 50.0f;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

View view = inflater.inflate(R.layout.fragment, container, false);

cardView = (CardView) view.findViewById(R.id.table_top);
restingElevation = cardView.getCardElevation(); // keep the default
Log.d("elevation", "resting: " + restingElevation);

return view;
}

private void pickUp() {
cardView.setCardElevation(pickedUpState);
}

private void rest() {
cardView.setCardElevation(restingElevation);
}

但是,我想知道是否有任何直接的方法来设置 CardView的高程到其默认值(静止高程),而不保留 onCreateView 中尚未更改的值.有没有 资源参数 (或 样式 )用于 android.support.v7.cardview:cardElevation Material 设计主题?

(看起来 CardView 的静息高程是 2.66 与LogCat。实际上,在官方 Material Design Guide 中,Card 的静息高程表示在2dp 和3dp 之间。)

最佳答案

我设法找到了 CardView 的默认高度( 静止高度 ) .

float elevation = getResources().getDimension(R.dimen.cardview_default_elevation);
Log.d("elavation", "this is the default: " + elevation);
那是 R.dimen.cardview_default_elevation .
附加检查:
实际上是 R.dimen.cardview_default_elevation只是 2dp ,即官方 Material Design Guide中描述的.而 getDimension 返回 中的值像素 这取决于设备。所以我的设备是 Nexus7 2012,它的屏幕密度为 tvdpi(mdpi 为 x1.33),返回值计算为 2dp x 1.33 = 2.66px .

关于android - 将 CardView 高程重置为默认值(静止高程),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32287694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com