要求是制作自定义通知,因为android的默认通知仅允许图像.因此,我详细介绍了如何在扩展时附加自定义UI以进行通知,准备好的答案是创建自定义视图并传递给通知管理器并允许从API级别16开始.所以我做了一个,这里是我的布局xml代码 - filename:notification_custom_view_new:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/GhostWhite">
<RelativeLayout
android:id="@+id/header"
android:layout_width="match_parent"
android:layout_height="65dp">
<ImageView
android:id="@+id/big_icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_centerVertical="true"
android:layout_marginLeft="12dp"
android:scaleType="fitCenter" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignBottom="@+id/big_icon"
android:layout_alignTop="@+id/big_icon"
android:layout_toRightOf="@+id/big_icon"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:weightSum="2">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.6"
android:orientation="vertical">
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:text="Title"
android:textColor="@color/colorBlackDimText"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="2"
android:paddingTop="2dp"
android:text="message"
android:textColor="@color/colorBlackDimText"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.4"
android:gravity="center">
<TextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="2"
android:padding="8dp"
android:text="24:59"
android:textColor="@color/colorBlackDimText"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
<View
android:id="@+id/shadow" …Run Code Online (Sandbox Code Playgroud) 版图设计:
HorizontalScrollView-parent, holding RV[
RecyclerView=>(GridLayoutManager) (orientation verticle)]
Run Code Online (Sandbox Code Playgroud)
哪个基本上会做双向滚动.此UI适用于电视.此网格中的焦点行将显示额外的细节,而其他行则不会.所以,每当有从一行的焦点变化到另一个onFocusChange我修改dataset的Adapter,并调用notifyItemRangeChanged().
当行长度超过屏幕的垂直长度,即垂直可滚动时,这可以正常工作.发生崩溃就像是行数较少(如4).
错误:
java.lang.IllegalArgumentException: parameter must be a descendant of this view
at android.view.ViewGroup.offsetRectBetweenParentAndChild(ViewGroup.java:5937)
at android.view.ViewGroup.offsetDescendantRectToMyCoords(ViewGroup.java:5866)
at android.widget.HorizontalScrollView.isWithinDeltaOfScreen(HorizontalScrollView.java:1168)
at android.widget.HorizontalScrollView.onSizeChanged(HorizontalScrollView.java:1569)
at android.view.View.sizeChange(View.java:19719)
at android.view.View.setFrame(View.java:19680)
at android.view.View.layout(View.java:19583)
at android.view.ViewGroup.layout(ViewGroup.java:6053)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791)
at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1780)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1546)
at android.view.View.layout(View.java:19586)
at android.view.ViewGroup.layout(ViewGroup.java:6053)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1544)
at android.view.View.layout(View.java:19586)
at android.view.ViewGroup.layout(ViewGroup.java:6053)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1544)
at android.view.View.layout(View.java:19586)
at android.view.ViewGroup.layout(ViewGroup.java:6053)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1080)
at android.view.View.layout(View.java:19586)
at android.view.ViewGroup.layout(ViewGroup.java:6053)
at …Run Code Online (Sandbox Code Playgroud) android horizontalscrollview gridlayoutmanager recycler-adapter android-recyclerview
为电视应用创建了双向可滚动gridlayout
从布局文件查看结构
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#021257"
android:orientation="vertical">
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fillViewport="true">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/rvThumbnail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#021257"
android:orientation="vertical"/>
</LinearLayout>
</HorizontalScrollView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
所以我使用了gridlayoutmanager(方向垂直),spancount为49(24hrs*2)+1,用于显示列的图像.的第一行是显示时间轴分成半小时时隙,第一列是显示信道,每个信道将具有下不同时隙运行其自己的程序.现在我已经实现了两种方式滚动网格布局,现在我还有两件事要做.
1)当水平滚动时,通道列(第一列)也会滚动并因此被隐藏(它必须垂直滚动,因为可以有20多个通道).现在我需要使这个列静态wen水平滚动,其他列必须正常滚动
2)当垂直滚动时,时间轴行(第一行)也会滚动并因此被隐藏(它必须水平滚动,因为行必须显示24小时).现在我需要使这行静态wen垂直滚动,其他行必须正常滚动.
这有可能实现吗?我感谢您的帮助
我的 EditText 中的提示长度比 ET 视图的宽度长一点。那么如何将选取框属性设置为 ET 视图。我试过设置它,但应用程序崩溃并给出错误:E/AndroidRuntime(2095): Caused by: java.lang.IllegalArgumentException: EditText cannot use the ellipsize mode TextUtils.TruncateAt.MARQUEE
我已经阅读了 ellipsize 方法的文档,但没有得到我应该做的。我尝试了以下两个步骤:
1)
android:maxLines="1"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
2) android:maxLines="1"
android:scrollHorizontally="true"
ellipsize 方法的文档: 使文本中长于视图宽度的单词被椭圆化而不是在中间断开。您可能还需要 setSingleLine() 或 setHorizontallyScrolling(boolean) 将文本限制为单行。使用 null 关闭省略号。如果 setMaxLines(int) 已经用于设置两行或更多行,则仅支持 END 和 MARQUEE(其他省略号类型不会做任何事情)。
让我知道必须进行哪些修改才能使其正常工作。谢谢
我有一个活动 A [MainActivity],从中启动活动 B [视频播放器]
情况 1:单击活动 A 中的视频缩略图 => 转到活动 B => 播放视频几秒钟(重要:您需要播放视频几秒钟) => 单击返回导航 => 返回到 Activity A =>没有崩溃。
情况 2:单击 Activity A 中的视频缩略图 => 转到 Activity B => 缓冲区和视频开始播放 => 立即单击返回导航(重要:不要播放视频)=> 应用程序尝试返回 Activity A = >崩溃与其一致。
注意:我没有在 Activity A 的 onResume() 中编写任何代码,只是为了确保我没有重写任何 onResume() 相关代码,这可能会导致崩溃。堆栈跟踪并不指向应用程序代码中的一行,它只是显示来自 android 源库的堆栈跟踪。我为此花费了4 个多小时,非常感谢任何帮助。
活动B[玩家活动]代码:
public class VitamioPlayerActivity extends AppCompatActivity implements MediaPlayer.OnErrorListener, MediaPlayer.OnPreparedListener, MediaPlayer.OnTimedTextListener {
public static final String TAG = VitamioPlayerActivity.class.getSimpleName();
@Bind(R.id.videoView)
VideoView videoView;
@Bind(R.id.progressBar) …Run Code Online (Sandbox Code Playgroud) 当我试图解析一个json数组时,工作室给了我一个编译错误,说明foreach不适用于json数组.虽然我知道如何获取所有对象并进行解析; 我只是想知道为什么foreach不适用,即使json数组是一个数组
我已将构建文件夹推送到我的远程仓库; 但.gitignore文件显然有这一行(/ payu_ui/build); 但我发现,因为构建文件已被跟踪一次,现在我在.gitignore写了一行不会真正忽略构建文件夹.所以我想从被跟踪的git中删除它(完整的构建文件夹)所以我使用了这个命令
git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch payu_ui/build/' --prune-empty --tag-name-filter cat -- --all
Run Code Online (Sandbox Code Playgroud)
但是每次我运行这个命令都会给出一个错误的说法
fatal: bad revision 'rm'
Run Code Online (Sandbox Code Playgroud)
出了什么问题; 每次我从IDE单击提交选项时,它都会显示需要提交1300个文件(令我讨厌)
任何帮助将不胜感激;
1.我不想跟踪这些构建文件(来自payu_ui lib)2.我不想将它们推送到远程仓库(但是一旦我从本地跟踪它并且推送它们在远程仓库中被删除它已经很好了!如果它我不会在远程仓库中手动删除)