我正在尝试在imageview上实现一个简单的colorfilter,将黑色图像转换为白色图像.为了实现这一点,我做了以下事情:
weatherImg.setColorFilter(Color.BLACK, PorterDuff.Mode.MULTIPLY);
weatherImg.setImageResource(R.drawable.b_clouded_rain);
Run Code Online (Sandbox Code Playgroud)
我也尝试将滤色器中的颜色更改为红色和白色,但所有这些都没有效果,我做错了什么?
我有一个想要显示匹配设备的整个宽度的ImageView,我意识到这样:
<ImageView
android:id="@+id/home_bar_newvault"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:scaleType="centerCrop"
android:layout_alignParentBottom="true"
android:src="@drawable/home_bar" />
Run Code Online (Sandbox Code Playgroud)
home_bar是一个PNG图像文件,其大小如下:2399x254.当我选择查看UI的图形布局时,它会在活动的底部正确显示图像视图.但是,当我在设备上启动应用程序时,它根本不会显示Imageview.
我正在尝试在我的应用程序中实现转换,但overridePendingTransition(anim,anim)无法正常工作.
我的代码简单而标准:
启动intent并调用overridePendingTransition:
Intent newsIntent = new Intent(ZPFActivity.this, More2013Activity.class);
startActivity(newsIntent);
overridePendingTransition(R.anim.slide_no_move, R.anim.fade);
finish();
Run Code Online (Sandbox Code Playgroud)
开始动画不应该只做淡入淡出动画应该有效的任何事情.
slide_no_move XML:
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="0%p" android:toYDelta="0%p"
android:duration="500"/>
Run Code Online (Sandbox Code Playgroud)
淡出XML:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true">
<alpha android:fromAlpha="1.0"
android:toAlpha="0.0"
android:duration="500"/>
</set>
Run Code Online (Sandbox Code Playgroud)
编辑:我忘了提到我开始的活动都扩展了"主要"活动.这可能导致问题吗?
我已经实现了IEqualityComparer和IEquatable(两者都是确定的),但是当我在集合上调用Distinct()方法时,它不会调用它附带的方法.这是我在调用Distinct()时执行的代码.
ObservableCollection<GigViewModel> distinctGigs = new ObservableCollection<GigViewModel>(Gigs.Distinct<GigViewModel>());
return distinctGigs;
Run Code Online (Sandbox Code Playgroud)
我想返回一个ObservableCollection,它不包含'Gigs'IbservableCollection中的任何双重对象.
我在GigViewModel类上实现了这样的接口:
public class GigViewModel : INotifyPropertyChanged, IEqualityComparer<GigViewModel>, IEquatable<GigViewModel>
{
....
}
Run Code Online (Sandbox Code Playgroud)
并覆盖接口附带的方法,如下所示:
public bool Equals(GigViewModel x, GigViewModel y)
{
if (x.Artiest.Naam == y.Artiest.Naam)
{
return true;
}
else
{
return false;
}
}
public int GetHashCode(GigViewModel obj)
{
return obj.Artiest.Naam.GetHashCode();
}
public bool Equals(GigViewModel other)
{
if (other.Artiest.Naam == this.Artiest.Naam)
{
return true;
}
else
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
感谢我得到的所有帮助.所以我创建了一个单独的类来实现IEqualityComparer并将它的实例传递给disctinct方法.但这些方法仍未被触发.
EqualityComparer:
class GigViewModelComparer : IEqualityComparer<GigViewModel>
{
public bool Equals(GigViewModel x, …
Run Code Online (Sandbox Code Playgroud) c# silverlight observablecollection windows-phone windows-phone-8
我正在尝试在片段上应用特定主题.但出于某种原因,它并没有发生.任何人都可以指出我的代码中的错误吗?或更好的解决方案
styles.xml中的主题:
<!-- Theme for trans actionbar -->
<style name="TransTheme" parent="@style/AppTheme">
<item name="android:actionBarStyle">@style/TransActionbar</item>
<item name="android:windowActionBarOverlay">true</item>
<item name="actionBarStyle">@style/TransActionbar</item>
<item name="windowActionBarOverlay">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)
在哪里@style/TransActionbar
:
<!-- Actionbar style for trans theme -->
<style name="TransActionbar" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
<item name="android:background">@color/first_trans_actionbar</item>
<item name="background">@color/first_trans_actionbar</item>
</style>
Run Code Online (Sandbox Code Playgroud)
我想如何在onCreateView()
方法中的片段中应用主题:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
//set theme
final Context contextWrapper = new ContextThemeWrapper(getActivity(), R.style.TransTheme);
LayoutInflater localInflater = inflater.cloneInContext(contextWrapper);
contentView = localInflater.inflate(R.layout.fragment_movie_detail,
container, false);
return contentView:
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,Fragment保留了旧主题..
编辑
所以基本上问题归结为:如何在一个活动的一个片段中使Actionbar透明(和叠加模式)?
我已经使用汉堡包图标(支持库v7)实现了ActionBarDrawerToggle,但由于某种原因,切换仅在未运行5.0的设备上显示"后退"箭头(我已经为所有4.x版本确认了这一点).这是正常的行为吗?
箭头看起来像这样:
现在箭头图标不会改变.拉出导航抽屉或处于折叠模式时也是如此.
这就是我对drawertoggle等的初衷.
// drawer toggle
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
R.string.drawer_open, R.string.drawer_close);
mDrawerLayout.setDrawerListener(mDrawerToggle);
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeButtonEnabled(true);
Run Code Online (Sandbox Code Playgroud)
编辑
有些澄清.我使用旧的常规ActionBar,而不是工具栏.汉堡图标显示在5.0设备上但不在<5.0上.我应该使用工具栏来解决这个问题吗?
我有一个标准的直接EditText,我想在这个EditText上显示字典建议,所以我在XML中做了这个:
<EditText
android:id="@+id/messaging_messageEdit"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="10dp"
android:layout_weight="85"
android:background="@drawable/clanz_edit_text_holo_dark"
android:ems="10"
android:hint="Type your message here..."
android:singleLine="true"
android:inputType="textAutoComplete"
android:textColor="#dedede" >
</EditText>
Run Code Online (Sandbox Code Playgroud)
我认为该inputType
参数将处理自动字典视图.在我的手机(Nexus Android 5.1)上,字典视图显示但是空白.在Genymotion模拟器(Android 4.1.1)上它根本不显示.
我错过了什么?
我正在尝试解析一些HTML代码并检索img标记的内容.我使用以下代码来执行此操作:
Spanned img = Html.fromHtml(sourceText);
Run Code Online (Sandbox Code Playgroud)
当我开始调试并查看Spanned img对象的内容时,我可以看到mSpans包含一个ImageSpan,这个ImageSpans源是正确的url.虽然我在检索源码时遇到了极大的困难.关于从Spanned对象检索ImageSpan的文档非常不清楚.我试过这个方法:
ImageSpan[] spans = img.getSpans(0, img.length(), ImageSpan.class);
Run Code Online (Sandbox Code Playgroud)
但这只会返回一个空数组.
所以要清楚:我想在Spanned对象中检索ImageSpan.
android ×7
imageview ×2
java ×2
c# ×1
colorfilter ×1
device ×1
html ×1
parsing ×1
silverlight ×1
transitions ×1
xml ×1