如何定制ImageCardView圆形Leanback?
我已经阅读了几个关于如何水平对齐卡片视图的答案.我想要实现以下目标:
这是迄今为止我所编写的代码(我遵循了不同的岗位,没有一个曾经帮助过我周围20个答案,但问题是在左边和右边的保证金或空间,我需要空间,但卡视图将展开整个宽度.
<RelativeLayout
android:id="@+id/relativeLayout2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true">
<TextView
android:id="@+id/textView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignStart="@+id/mProjectCDCNumCardView"
android:layout_marginStart="7dp"
android:layout_marginTop="7dp"
android:text="DETAIL"
android:textColor="#000"
android:textSize="16sp" />
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/mProjectCDCNumCardView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="13dp"
card_view:cardCornerRadius="2dp"
card_view:contentPaddingLeft="50dp"
card_view:contentPaddingRight="@dimen/activity_horizontal_margin"
card_view:contentPaddingTop="20dp"
card_view:contentPaddingBottom="@dimen/activity_vertical_margin"
android:background="@drawable/cardview_normal"
android:layout_centerHorizontal="true"
android:layout_below="@+id/textView8">
<EditText
android:id="@+id/mProjectCDCNumEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:background="@drawable/editborder"
android:hint="Project Number"
android:inputType="textPersonName"
android:padding="10dp" />
</android.support.v7.widget.CardView>
<TextView
android:id="@+id/mProjectAddressLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:background="@drawable/editborder"
android:layout_below="@id/mProjectCDCNumCardView"
android:ems="16"
android:padding="10dp"
android:hint="Location"
android:textColor="#000"
android:textSize="18sp"
android:drawableRight="@drawable/left_arrow"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正在尝试做到这一点:
这就是我得到的:
我无法同时使背景模糊和透明,我该怎么办?
当我尝试使用“alpha”执行此操作时,它也会删除文本中的不透明度,这在原始照片中不会发生。
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:card_view="http://schemas.android.com/tools"
android:fitsSystemWindows="true">
<androidx.cardview.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:cardCornerRadius="10dp"
android:layout_gravity="center|top"
android:layout_margin="8dp"
card_view:cardElevation="0dp">
<androidx.cardview.widget.CardView
android:layout_width="180dp"
android:layout_height="wrap_content"
app:cardCornerRadius="2dp"
android:layout_gravity="top"
android:layout_marginTop="130dp"
android:layout_marginStart="50dp"
card_view:cardBackgroundColor="@android:color/transparent"
card_view:cardElevation="10dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="For example"
android:layout_gravity="center"
android:textColor="@color/colorAccent"
android:textStyle="bold" />
</androidx.cardview.widget.CardView>
<LinearLayout
android:layout_width="280dp"
android:layout_height="180dp"
android:orientation="vertical">
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="180dp"
android:src="@drawable/imagen1"
android:scaleType="centerCrop"/>
</LinearLayout>
</androidx.cardview.widget.CardView>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud) 我找不到合适的解决方案.我想要的是在每个单元格中使用CardView渲染GridView.出于某种原因,我收到此错误:片段类上的java.lang.NullPointerException,在显示gridView.setAdapter(adapter)的行上; 有人可以解释一下是什么问题,我该如何解决?
活动
public class VoteActivity extends Activity {
private static final String CLASS_TAG = "VoteActivity";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// TODO Auto-generated method stub
Log.e("CLASS_TAG", CLASS_TAG);
setContentView(R.layout.activity_vote);
if (savedInstanceState == null) {
VoteFragment voteFragment = new VoteFragment();
voteFragment.setArguments(getIntent().getExtras());
getFragmentManager().beginTransaction().add(android.R.id.content, voteFragment).commit();
}
}
}
Run Code Online (Sandbox Code Playgroud)
分段
public class VoteFragment extends Fragment {
VoteAdapter adapter;
GridView gridView;
public VoteFragment() {
// Required empty public constructor
}
@Override …Run Code Online (Sandbox Code Playgroud) 我只想在我的回收站中列出不喜欢的项目。我在 MainActivity 的 rv 中有一个完整的项目列表(这里没有设置可见性)。我可以通过单击图像按钮为每个项目设置喜欢或不喜欢。MainActivity 显示了显示图像按钮喜欢与否的项目(卡片视图)的完整列表。如果项目被喜欢,这将作为单独的条目存储在 firebase db 中,在 Likes with item key (firebase key .push) 下,而不是在 Items 下。(在 firebase db 中,我有用户、项目、喜欢)。
这是我的子活动代码 DislikedItemsActivity,我想通过对喜欢的项目使用 setVisibility(View.GONE) 来仅显示不喜欢的项目。这仍然为 View.GONE 项目保留了项目之间的空间(尽管这些卡片视图是空的)。
mRecyclerView = (RecyclerView) findViewById(R.id.rvItemList);
mRecyclerView .setHasFixedSize(true);
final LinearLayoutManager linearLayoutManager = new
LinearLayoutManager(this);
linearLayoutManager.setReverseLayout(true);
linearLayoutManager.setStackFromEnd(true);
mRecyclerView.setLayoutManager(linearLayoutManager);
final FirebaseRecyclerAdapter<Item, MainActivity.ItemViewHolder>
firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Item,
MainActivity.ItemViewHolder>(
Item.class,
R.layout.list_item,
MainActivity.ItemViewHolder.class,
mDatabase
) {
@Override
protected void populateViewHolder(final MainActivity.ItemViewHolder viewHolder, final Item model, final int position) {
final String itemKey = getRef(position).getKey();
mDatabaseItemsLiked.addValueEventListener(new ValueEventListener() {
@Override
public …Run Code Online (Sandbox Code Playgroud) 下面是我的代码我有多个cardview内部LinearLayout但在构建后我无法滚动它.卡片视图的一半是隐藏的.
有一个屏幕截图
我想滚动我的所有cardview.我试图添加,scrollview但它无法正常工作.添加后scrollview全部cardview不起作用
这是添加后发生的事情scrollview.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="eras.ppt.ras.MainActivity"
android:orientation="vertical"
android:padding="10dp"
android:background="@drawable/backgroundimage"
android:gravity="center"
android:id="@+id/ll">
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="20dp"
android:background="@color/transblue"/>
<LinearLayout
android:id="@+id/SliderDots"
android:layout_below="@+id/viewPager"
android:orientation="horizontal"
android:gravity="center_vertical|center_horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</LinearLayout>
<LinearLayout
android:clipToPadding="false"
android:gravity="center"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.CardView
android:foreground="?android:attr/selectableItemBackground"
android:clickable="true"
android:id="@+id/physics"
android:layout_width="160dp"
android:layout_height="190dp"
android:layout_margin="10dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<ImageView
android:layout_width="64dp"
android:layout_height="64dp"
android:background="@drawable/cerclebackgroundpurple"
android:src="@drawable/sigma"
android:padding="10dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:layout_marginTop="10dp"
android:text="Physics"/>
<View
android:layout_width="match_parent" …Run Code Online (Sandbox Code Playgroud) 我在 cardview 上有一个 onclick 侦听器。侦听器仅在我点击内容(TextViews/ImageViews)之外的区域时才起作用。我的卡片视图中也有一个线性布局。我希望当我点击 CardView 上的任何地方时它都能工作。与我的做法相比,有没有更好的方法来实现这一点?
这是我在 xml 中的 CardView
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_gravity="center"
android:padding="10dp"
android:layout_margin="3dp"
android:elevation="3dp"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="wrap_content">
<TextView
android:id="@+id/post_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/guilt_theme"
android:padding="4dp"
android:text="GUILT"
android:textColor="@color/textColor"
android:textSize="12sp"
android:textStyle="bold" />
<TextView
android:id="@+id/post_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAllCaps="false"
android:layout_marginTop="10dp"
android:focusableInTouchMode="false"
android:clickable="true"
android:text="text content"
android:textColor="@color/secondaryText"
android:textSize="16sp" />
<TextView
android:id="@+id/date_user"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:inputType="number"
android:text="on 16/5/2018 by user"
android:textColor="@color/weaker_text"
android:textSize="14sp" />
<LinearLayout
android:id="@+id/LinearLayout"
android:layout_width="match_parent"
android:orientation="horizontal"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/view_image"
android:layout_width="20dp"
android:layout_height="20dp"
android:clickable="true"
android:focusable="true"
android:background="?attr/selectableItemBackground"
android:layout_marginTop="4dp"
android:src="@drawable/ic_action_name" />
<TextView
android:id="@+id/total_views"
android:layout_width="wrap_content"
android:layout_height="wrap_content" …Run Code Online (Sandbox Code Playgroud) 我想设计一个自定义组件卡,卡中附有图像,标题部分将重叠在图像部分上,描述将添加在图像部分下方。如何在颤动中重叠图像上的文本?
class CardWithImage extends StatelessWidget {
final String title, buttonText;
final String subTitle;
final String body;
final asset;
CardWithImage({
this.title,
this.subTitle,
this.body,
this.asset,
this.buttonText,
});
@override
Widget build(BuildContext context) {
return Container(
width: MediaQuery.of(context).size.width,
margin: EdgeInsets.all(15),
decoration: BoxDecoration(
color: ThemeColors.primaryColor,
borderRadius: BorderRadius.circular(5),
boxShadow: [
BoxShadow(
color: ThemeColors.grey5,
blurRadius: 10,
spreadRadius: 5,
offset: Offset(3, 3),
)
],
),
child: Column(
children: <Widget>[
Image.asset(
asset,
height: 200,
width: MediaQuery.of(context).size.width,
fit: BoxFit.cover,
),
],
),
);
}
}
Run Code Online (Sandbox Code Playgroud)
支持CardView的默认保证金是多少,所以我可以为我的情况定义保证金?
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
card_view:cardUseCompatPadding="true"
card_view:cardCornerRadius="4dp"
card_view:cardElevation="2dp">
Run Code Online (Sandbox Code Playgroud) cardview ×10
android ×9
java ×3
adapter ×1
android-tv ×1
assets ×1
background ×1
blur ×1
dart ×1
flutter ×1
layout ×1
leanback ×1
visibility ×1