在AppCompat今天发布更新之前,我能够更改Android L中按钮的颜色,但不能更改旧版本.包含新的AppCompat更新后,我无法更改任何一个版本的颜色,当我尝试按钮时就消失了.有谁知道如何更改按钮颜色?
以下图片显示了我想要实现的目标:

白色按钮是默认的,红色按钮是我想要的.
这是我之前做的改变以下按钮颜色的方法styles.xml:
<item name="android:colorButtonNormal">insert color here</item>
Run Code Online (Sandbox Code Playgroud)
并动态地做:
button.getBackground().setColorFilter(getResources().getColor(insert color here), PorterDuff.Mode.MULTIPLY);
Run Code Online (Sandbox Code Playgroud)
我也确实将主题父@android:style/Theme.Material.Light.DarkActionBar改为Theme.AppCompat.Light.DarkActionBar
android drawerlayout material-design android-design-library navigationview
我正在使用java.util.ArrayList,我想删除所有特定元素的出现.
List<String> l = new ArrayList<String>();
l.add("first");
l.add("first");
l.add("second");
l.remove("first");
Run Code Online (Sandbox Code Playgroud)
它只删除第一次出现.但是我希望在l.remove("first");我希望仅使用值"second"省略列表之后删除所有出现的事件.我通过谷歌搜索发现它可以通过创建新列表和调用来实现list.removeAll(newList).但是有可能在不创建新列表的情况下删除所有事件,或者是否有可用的API来实现它?
我希望从URL中获取RSS代码Retrofit,如果我在get注释中静态输入url,一切正常,但是使用动态URL我得到一个错误.
我的界面服务:
public interface AllNewsService {
@GET("/fa/rss/{url}")
void getRss( @Path("url") String nGroup , Callback<AllNewsRss> callback);}
Run Code Online (Sandbox Code Playgroud)
并调用getRss方法:
DataGetter dg = new DataGetter();
dg.get().getRss("allnews" ,new Callback<AllNewsRss>() {
@Override
public void success(AllNewsRss allNewsRss, Response response) {
Log.d(TAG,"success");
}
@Override
public void failure(RetrofitError error) {
Log.d("*********",error.toString());
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
retrofit.RetrofitError: AllNewsService.getRss: No Retrofit annotation found. (parameter #1)
Run Code Online (Sandbox Code Playgroud)
注意:我在下面添加了一行,proguard.cfg但它没有用
-keep class retrofit.** { *; }
Run Code Online (Sandbox Code Playgroud) 好的,所以我是android开发的初学者,我刚创建了hello world app.但是它给了我库中styles_base.xml文件的错误appcompat_v7.
错误:检索项目的父项时出错:找不到与给定名称"android:Widget.Material.ActionButton"匹配的资源.styles_base.xml/appcompat_v7/res/values-v21
AAPT问题
我该如何处理这个错误?另外,为什么我不想要appcompat_v7库?我的意思是如何在不使用appcompat_v7库的情况下创建hello world应用程序?
这是styles_base.xml给出上述错误的文件.
<resources>
<!-- Like in themes_base.xml, the namespace "*.AppCompat.Base" is used to
define base styles for the platform version. The "*.AppCompat"
variants are for direct use or use as parent styles by the app. -->
<eat-comment/>
<style name="Base.Widget.AppCompat.ActionBar.TabView"
parent="android:Widget.Material.ActionBar.TabView">
</style>
<style name="Base.Widget.AppCompat.Light.ActionBar.TabView"
parent="android:Widget.Material.Light.ActionBar.TabView">
</style>
<style name="Base.Widget.AppCompat.ActionBar.TabText"
parent="android:Widget.Material.ActionBar.TabText">
</style>
<style name="Base.Widget.AppCompat.Light.ActionBar.TabText"
parent="android:Widget.Material.Light.ActionBar.TabText">
</style>
<style name="Base.Widget.AppCompat.Light.ActionBar.TabText.Inverse"
parent="android:Widget.Material.Light.ActionBar.TabText">
</style>
<style name="Base.TextAppearance.AppCompat.Widget.ActionBar.Menu"
parent="android:TextAppearance.Material.Widget.ActionBar.Menu">
</style>
<style name="Base.TextAppearance.AppCompat.Widget.ActionBar.Title"
parent="android:TextAppearance.Material.Widget.ActionBar.Title">
</style>
<style name="Base.TextAppearance.AppCompat.Widget.ActionBar.Subtitle"
parent="android:TextAppearance.Material.Widget.ActionBar.Subtitle"> …Run Code Online (Sandbox Code Playgroud) 我想在EditText(在TextInputLayout中)中使用java设置提示.
用于设置提示的代码:
aET = (EditText) findViewById(R.id.aET);
aET.setHint("h?");
但即使关注edittext,Hint也会显示两次(也在edittext内).
如果有人面对并找到一些解决方法,请告诉我
当editText聚焦时......

当editText没有聚焦时..

编辑[2015年7月10日]:
<android.support.design.widget.TextInputLayout
android:id="@+id/aTIL"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/aET" />
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud) android android-appcompat android-edittext android-textinputlayout
我正在关注异常
01-27 11:15:15.756 18348-18348/com.example.pnimje.newswipelistview E/AndroidRuntime? FATAL EXCEPTION: main
java.lang.NullPointerException
at android.support.v7.widget.RecyclerView.onMeasure(RecyclerView.java:1764)
at android.view.View.measure(View.java:15848)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:728)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:477)
at android.view.View.measure(View.java:15848)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5008)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:15848)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5008)
at android.support.v7.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:453)
at android.view.View.measure(View.java:15848)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5008)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:15848)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5008)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
at android.view.View.measure(View.java:15848)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5008)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2189)
at android.view.View.measure(View.java:15848)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1905)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1104)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1284)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1004)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5481)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
at android.view.Choreographer.doCallbacks(Choreographer.java:562)
at android.view.Choreographer.doFrame(Choreographer.java:532)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
at android.os.Handler.handleCallback(Handler.java:730)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at …Run Code Online (Sandbox Code Playgroud) <item
android:id="@+id/action_back"
android:orderInCategory="100"
app:showAsAction="always"
android:icon="@drawable/ic_action_back"
android:title="@string/back"/>
<item
android:id="@+id/action_save"
android:orderInCategory="100"
app:showAsAction="always"
android:icon="@drawable/ic_action_save"
android:title="@string/save"/>
<item
android:id="@+id/action_sort"
android:orderInCategory="100"
app:showAsAction="always"
android:icon="@drawable/ic_action_sort_dark"
android:title="@string/sort"/>
<item
android:id="@+id/action_new"
android:orderInCategory="100"
app:showAsAction="always"
android:icon="@drawable/ic_new"
android:title="@string/new_menu"/>
Run Code Online (Sandbox Code Playgroud)
<activity
android:name="com.app.FileFragmentActivity"
android:uiOptions="splitActionBarWhenNarrow"
android:label="@string/app_name" >
</activity>
Run Code Online (Sandbox Code Playgroud)


我想在底部显示动作项目,如上面的两个屏幕截图(标记为红色).
我正在Toolbar使用appcompat-v7库.
android android-appcompat android-support-library material-design android-toolbar
我想在我的应用程序中显示后退箭头按钮,但当我将其放入我的代码时应用程序崩溃:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
Run Code Online (Sandbox Code Playgroud)
style.xml
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/PrimaryColor</item>
<item name="colorPrimaryDark">@color/PrimaryColorDark</item>
<item name="colorAccent">@color/PrimaryColor</item>
<item name="colorControlHighlight">@color/ControlHighlight</item>
<item name="android:statusBarColor" tools:targetApi="21">@android:color/transparent</item>
</style>
<style name="ActionBarPopupThemeOverlay" parent="ThemeOverlay.AppCompat.Light" >
<item name="android:textColor">#000000</item>
</style>
<style name="MyCustomTabLayout" parent="Widget.Design.TabLayout">
<item name="tabIndicatorColor">#FFFFFF</item>
<item name="tabIndicatorHeight">3dp</item>
<item name="tabTextAppearance">@style/MyCustomTabTextAppearance</item>
</style>
<style name="MyCustomTabTextAppearance" parent="TextAppearance.Design.Tab">
<item name="android:textColor">#FFFFFF</item>
</style>
Run Code Online (Sandbox Code Playgroud)
toolbar.xml
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_height="@dimen/abc_action_bar_default_height_material"
android:elevation="0dp"
android:layout_width="match_parent"
android:id="@+id/toolbar"
android:background="@color/PrimaryColor"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ActionBarPopupThemeOverlay"/>
Run Code Online (Sandbox Code Playgroud)
类(不是片段):
public class WebViewCanale extends AppCompatActivity {
Toolbar toolbar;
TextView textView;
WebView webView;
ProgressBar progressBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview_canali);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
//Toolbar …Run Code Online (Sandbox Code Playgroud) android toolbar android-actionbar-compat android-toolbar appcompatactivity
我知道我LinearLayoutCompat已经意识到给了我们一些更新的方法,它们被更高级别的android添加到更低级别的android.
我的问题是这个方法:
linearLayout.setPaddingRelative
Run Code Online (Sandbox Code Playgroud)
这是在API 17中添加的,但我们应该通过使用以下代码将其置于较低的API中吗?
linearLayoutCompat.setPaddingRelative
Run Code Online (Sandbox Code Playgroud)
但我的Android Studio仍然显示以下错误.
Call requires API level 17 (current min is 15): android.view.View#setPaddingRelativ
Run Code Online (Sandbox Code Playgroud)
那么LinearLayout和之间的区别是LinearLayoutCompat什么?
android ×9
android-view ×1
arraylist ×1
button ×1
drawerlayout ×1
java ×1
retrofit ×1
toolbar ×1