小编sra*_*ain的帖子

如何在Java代码中创建具有实心,角点和笔划的形状?

我有一个在下面的xml文件中定义的形状,现在我想以编程方式更改为纯色.

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <solid android:color="#DFDFE0" />

    <corners
        android:bottomLeftRadius="8dp"
        android:bottomRightRadius="8dp"
        android:topLeftRadius="8dp"
        android:topRightRadius="8dp" />

    <stroke
        android:width="3dp"
        android:color="#2E3135" />

</shape>
Run Code Online (Sandbox Code Playgroud)

我想我应该有一个扩展ShapeDrawable的类,并实现onDraw方法.谁知道怎么样?

android shapedrawable

18
推荐指数
1
解决办法
3万
查看次数

findViewById在自定义视图中查找子视图

我定义了一个视图,它扩展了RelativeLayout,我想提取其id在layout xml文件中指定的子节点.

HeaderView.java:

  1  package com.example.test; 
  2   
  3  public class HeaderView extends RelativeLayout { 
  4                         
  5      public HeaderView(Context context, AttributeSet attrs) {  
  6          this(context, attrs, 0);        
  7   
  8          TypedArray arr = context.obtainStyledAttributes(attrs, R.styleable.HeaderView, 0, 0);  
  9   
 10          int headerId = 0; 
 11          int containerId = 0;            
 12                         
 13          //  find attributes
 14          if (arr != null) { 
 15              if (arr.hasValue(R.styleable.HeaderView_headerview_header)) { 
 16                  headerId = arr.getResourceId(R.styleable.HeaderView_headerview_header, 0); 
 17              }  
 18              if (arr.hasValue(R.styleable.HeaderView_headerview_container)) { 
 19                  containerId = arr.getResourceId(R.styleable.HeaderView_headerview_container, …
Run Code Online (Sandbox Code Playgroud)

android android-custom-view findviewbyid

10
推荐指数
1
解决办法
2334
查看次数

如何修复在第三方sdks中复制的libgnustl_shared.so文件?

当我使用gradle构建并运行apk时,我得到以下错误::::

Error:Execution failed for task ':app:transformNative_libsWithMergeJniLibsForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK lib/armeabi-v7a/libgnustl_shared.so
    File1:  
app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.20.1/jni
    File2:  
app/build/intermediates/exploded-aar/app/videosdk/unspecified/jni
Run Code Online (Sandbox Code Playgroud)

java-native-interface android duplicates android-library android-gradle-plugin

8
推荐指数
2
解决办法
3349
查看次数

Android GridView像listview一样添加页眉和页脚

也许你想打电话addHeaderView()addFooterView()GridView,它没有.

我们想要将标题视图或页脚视图添加到a的本质GridView.也许你和我一样长时间搜索,但最终找不到解决方案.

在这里,我将给出一个解决方案.

android gridview android-gridview

7
推荐指数
2
解决办法
2万
查看次数

PHP:在写入时复制和按引用分配在PHP5和PHP7上执行不同的操作

我们有一段简单的代码:

1    <?php
2    $i = 2;
3    $j = &$i;
4    echo (++$i) + (++$i);
Run Code Online (Sandbox Code Playgroud)

在PHP5上,它输出8,因为:

$i为参考,当我们增加$i++i,它会改变zval,而不是做一个副本,因此4号线会4 + 4 = 8.这是按参考分配.

如果我们评论第3行,它将输出7,每次我们通过增加它来改变它,PHP将复制,第4行将是3 + 4 = 7.这是Copy On Write.

但在PHP7中,它总是输出7.

我已经检查了PHP7中的更改:http://php.net/manual/en/migration70.incompatible.php ,但我没有得到任何线索.

任何帮助都会很棒,提前谢谢.

UPDATE1

以下是PHP5/PHP7上代码的结果:https://3v4l.org/USTHR

UPDATE2

操作码:

[huqiu@101 tmp]$ php -d vld.active=1 -d vld.execute=0 -f incr-ref-add.php
Finding entry points
Branch analysis from position: 0
Jump found. Position 1 = -2
filename: …
Run Code Online (Sandbox Code Playgroud)

php php-internals

6
推荐指数
1
解决办法
718
查看次数

在非根ViewGroup中使用include标记时,Android数据绑定会导致应用崩溃

当我使用Android数据绑定include在我的xml文件中的非根元素中使用标记时,应用程序崩溃.但是当标记放在根元素中或没有数据绑定时,应用程序运行良好.include

这是我的源代码,任何人都可以帮我弄清楚原因吗?

activity_main.xml中

<layout>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".MainActivity">


        <TextView
            android:id="@+id/text_view"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/hello_world" />

        <LinearLayout

            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <include layout="@layout/include_layout" />

        </LinearLayout>
    </LinearLayout>
</layout>
Run Code Online (Sandbox Code Playgroud)

MainActivity.java

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
        binding.textView.setText("hello world");
    }
}
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪

I/ActivityManager(13254): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.liangfeizc.databindings/.MainActivity (has extras)} from uid 10008 on display 0
I/ActivityManager(13254): Start proc com.liangfeizc.databindings for activity com.liangfeizc.databindings/.MainActivity: pid=18181 uid=10065 gids={50065, 9997} …
Run Code Online (Sandbox Code Playgroud)

data-binding android

5
推荐指数
1
解决办法
3506
查看次数

在此范围内未声明"INTMAX_MAX"

编译简单代码片段时test.cpp:

#include <stdint.h>
#include <stdio.h>
int main()
{
    intmax_t max = INTMAX_MAX;
    printf("%jd", max);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

[huqiu@101 ~]$ g++ -o test.o test.cpp
test.cpp: In function ‘int main()’:
test.cpp:5: error: ‘INTMAX_MAX’ was not declared in this scope
Run Code Online (Sandbox Code Playgroud)


我做了什么:


编译器信息:

[huqiu@101 ~]$ which g++
/usr/bin/g++
Run Code Online (Sandbox Code Playgroud)

和版本:

[huqiu@101 ~]$ g++ -v
Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre
--enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib …
Run Code Online (Sandbox Code Playgroud)

gcc g++

4
推荐指数
1
解决办法
4472
查看次数

替换php中的第一个和最后一个字符

关于php的问题.

如果我有一个名为$ string的变量,其中包含"Testing"我希望php代码删除第一个和最后一个字符的单词.(所以输出就是"estin").我已经尝试了多个函数str_replace,substr但到目前为止我只设法删除了第一个或唯一的最后一个字符.

我不知道如何删除第一个和最后一个字符.

php

0
推荐指数
1
解决办法
8159
查看次数